什么是蓝牙攻击?老男孩网络安全课程
在现代生活中,蓝牙技术的应用已经非常普及,无论是生活还是工作蓝牙都为我们带来了诸多便利。正因如此,它与其他技术一样,蓝牙通信也经常遭遇网络攻击,那么什么是蓝牙攻击?常见种类有哪些?我们来看看具体内容介绍。
蓝牙攻击是指黑客或攻击利用蓝牙技术中的漏洞或弱点,通过各种手段未经授权地获取或干扰目标设备的信息、功能或控制权的行为。蓝牙攻击可以采取多种形式,包括但不限于以下几种:
1、蓝牙监听:攻击者通过监听蓝牙通信,截获传输的数据,可能包括敏感信息、密码或其他私人信息。
2、蓝牙钓鱼:攻击者通过伪装成合法设备,诱导用户连接到恶意的蓝牙设备,从而获取用户的敏感信息。
3、蓝牙串号攻击:攻击者向附近的蓝牙设备发送未经授权的信息,这些信息可能是垃圾信息、广告或其他有害内容。
4、蓝牙串号钓鱼攻击:攻击者远程获取蓝牙设备上存储的信息,包括联系人列表、短信、日历等,而无需设备所有者的知晓或授权。
5、蓝牙DoS攻击:攻击者通过发送大量的无效请求或攻击代码,使目标设备或服务不可用,导致服务拒绝。
6、蓝牙中间人攻击:攻击者插入自己在蓝牙通信路径中,截获和篡改信息,同时使通信双方认为彼此直接通信。
7、蓝牙蠕虫攻击:攻击者通过蓝牙传播恶意软件,感染其他蓝牙设备,形成传播链条。
8、蓝牙零日漏洞利用:攻击者利用尚未被修复的蓝牙协议或设备实现的漏洞,实施各种攻击行为。
网络安全培训班正在招生中,更多网络安全课程信息,欢迎咨询老男孩教育在线客服,可免费申请试听学习视频和教学大纲,了解网络安全学习路线。
收起阅读 »Linux中的usr是什么意思?老男孩Linux运维
在Linux系统中,usr是系统核心所在,包含了所有的共享文件,是系统中最重要的目录之一,那么Linux中的usr是什么意思?其子目录包含哪些?我们来看看详细内容介绍。
在Linux中,usr是指Unix System Resources的缩写,也就是Unix系统资源。这个目录位于根目录下,通常表示为/usr。
/usr目录是用于存放用户安装的软件和文件的地方。它包含了许多子目录,每个子目录有自己的特定用途。以下是一些常见的子目录:
/usr/bin:用于存放用户可执行的二进制文件(可执行程序),例如常用的命令及工具。
/usr/lib:存放共享库文件(shared library)和一些系统级别的函数库。
/usr/include:存放C/C++等编程语言的头文件,这些头文件用于在开发过程中引用相关的函数和数据结构定义。
/usr/local:用于存放用户自行安装的软件和文件,而不是通过操作系统默认的软件包管理系统进行安装的内容。
/usr/share:存放共享的数据文件,如文档、帮助手册、示例配置文件等。
为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。
收起阅读 »Pycharm自动规范代码格式的方法!老男孩Python
编写Python代码时,Pycharm是一个使用率极高的Python工具,它提供了许多优秀的功能,可以帮助程序员更高效地编写Python代码。那么Pycharm如何自动规范代码的格式?具体请看下文。
1、代码风格检查
Pycharm内置了代码风格检查工具,可以检查代码是否符合PEP8编码规范。PEP8是Python官方推荐的编码规范,其中包含了一些规范的代码格式要求。如果代码不符合PEP8规范,Pycharm会给出警告或错误提示,帮助程序员快速修复代码格式问题。
2、自动缩进
在Python中,缩进是非常重要的,它决定了代码块的层次结构。Pycharm可以自动对代码进行缩进,使代码的层次结构更加清晰。在编写代码时,只需要按下Tab键,Pycharm会自动缩进到正确的位置。如果需要取消缩进,可以按下Shift+Tab键。
3、自动对齐
在编写代码时,我们经常需要对代码进行对齐操作,使代码更加清晰易读。Pycharm可以自动对齐代码,使用代码更加整齐。在需要对齐的代码行上,按下Ctrl+Alt+L键,Pycharm会自动对齐代码。如果需要取消对齐,可以再次按下Ctrl+Alt+L键。
4、自动换行
在编写代码时,如果一行代码太长,会影响代码的可读性。Pycharm可以自动将长行代码换行,使代码更加易读。在需要换行的位置上,按下Enter键,Pycharm会自动将代码换行。如果需要取消换行,可以再次按下Enter键。
5、自动格式化
在编写代码时,如果代码格式不规范,会给代码的阅读和维护带来很大的麻烦。Pycharm可以自动对代码进行格式化,使代码规范。在需要格式化的代码上,按下Ctrl+Alt+Shift+L键,Pycharm会自动格式化代码。如果需要取消格式化,可以再次按下Ctrl+Alt+Shift+L键。
想要学习Python,却又担心找不到合适的Python培训机构,在这里推荐大家来老男孩教育。老男孩教育师资团队强大、从业经验丰富、课程体系完善,且拥有真实企业级实战项目,欢迎大家前来试听。
收起阅读 »DNS攻击类型有哪些?老男孩网络安全课程
DNS攻击是指攻击者通过篡改DNS解析结果来欺骗用户访问恶意网站或者窃取用户的敏感信息等行为,是比较常见的网络攻击之一。本文主要为大家介绍一下网络安全中最常见的DNS攻击类型,希望对你有用!
1、DNS缓存投毒攻击
DNS缓存投毒是指在用户访问合法网站时,诱使其访问欺诈性网站。例如当用户需要访问gmail.com查看电子邮件时,攻击者通过破坏DNS,显示了一个欺诈性网站而不是gmail.com页面,以此来获取对受害者电子邮件账户的访问权限。
2、分布式反射拒绝服务
分布式反射拒绝服务的攻击手法是通过大量大量的UDP确认消息使目标不可用。在某些情况下,攻击者还可能会修复DNS、NTP等记录。为了能够将实际操作在伪造地址上的主机与更多的确认消息关联起来,攻击者需要使用伪造的源IP地址。当这些伪造的确认消息开始出现时,目标系统将变得难以访问。当这些攻击以适当的规模进行控制时,集体反射的情况就会变得明显,即多个终端广播伪造的UDP请求,生成的确认消息将指向单个目标。
3、DNS隧道攻击
这种网络攻击利用DNS确认和查询通道,从多个应用程序传输编码数据。虽然它从未被广泛使用,但研究人员发现这项技术现在开始被攻击者关注,因为它能够规避接口保护措施,而入侵者必需要对目标系统、域名和DNS权威服务器进行物理访问才能进行DNS隧道攻击。
4、TCP SYN洪水攻击
TCP
SYN洪水攻击是一种危险的拒绝服务攻击,可以破坏使用传输控制协议进行互联网通信的任何服务。常见的基础设施组件,如负载均衡器、防火墙、入侵防御系统和利用服务器,都可能容易受到SYN波攻击的影响,即使是设计用于管理数百万个连接的高容量设备也可能因这种攻击而瘫痪。
5、DNS劫持攻击
DNS
劫持攻击在网络犯罪领域也很常见。发生DNS劫持攻击时,攻击者会操纵域名查询的解析服务,导致访问被恶意定向至他们控制的非法服务器,这也被成为DNS投毒或DNS重定向攻击。除了实施网络钓鱼活动的黑客外,这还可能由信誉良好的实体完成,其这么做是为了收集信息,用于统计数据、展示广告及其他用途。
6、DNS洪水攻击
DNS洪水攻击属于分布式拒绝服务攻击的一种,主要目标是使服务器访问过载,使其无法继续为DNS请求提供服务。当这种类型的攻击来自单个
IP地址时很容易缓解。然而,当 DDoS
涉及数百或数千人时,情况可能会变得复杂。缓解方法有时可能很棘手,因为许多查询会很快被识别为恶意错误,并且会发出许多有效的请求来混淆防御设备。
7、域名劫持
在这种攻击中,攻击者会修改域名注册商和DNS服务器,以便将用户的流量重新路由到其他地方。如果攻击者获得了DNS
数据的控制权,则域名劫持也可能发生在DNS层面上。当攻击者控制用户的域名时,他们可以使用它来发起攻击,例如为PayPal、Visa或银行系统等支付系统设置虚假页面。
更多网络安全内容,推荐关注老男孩教育网络安全培训课程。老男孩网络安全培训课程由经验丰富的老师亲自授课,针对不同阶段的学员制定不同进度的课程,脱产班、周末班、网络班总有一款适合你。想学网络安全,点击链接进入网络安全自学视频开始学习吧。
收起阅读 »Linux中如何查看端口开启?老男孩Linux运维课程
在Linux中,端口是设备与外界通讯交流的出口,常用于指TCP/IP协议中的端口,其按照端口号可以分为三类,分别是:公认端口、注册端口、动态端口。那么Linux中如何查看开启了哪些端口?以下是常用命令介绍。
1、使用netstat命令
netstat -tuln
该命令将显示所有当前监听TCP和UDP端口,其中,
-t 表示显示TCP端口
-u 表示显示UDP端口
-l 表示仅显示监听状态的端口
-n 表示以数字形式显示端口号
2、使用ss命令
ss -tuln
此命令与netstat类似,用于显示当前监听的TCP和UDP端口。其中,
-t 表示显示TCP端口
-u 表示显示UDP端口
-l 表示仅显示监听状态的端口
-n 表示以数字形式显示端口号
3、使用lsof命令
lsof -i
此命令将显示当前打开的网络连接和监听的端口。其中,
-i 表示只显示与网络相关的信息。
这些命令将列出系统上正在监听的端口以及它们的状态和相关进程的详细信息。请注意,执行这些命令可能需要 root
或具有适当权限的用户才能查看所有端口信息。
老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。
收起阅读 »Python中继承的方式分为哪几类?老男孩Python
继承就是一个类可以获得另外一个类中的成员属性和成员方法。其主要作用就是减少代码,增加代码的复用功能,同时可以设置类与类直接的关系。那么Python继承的特征有哪些?一起来看看详细内容介绍。
Python继承按照继承的方式可以分为单继承、多重继承和多级继承三种类型。
1、单继承
Python的单继承类似于面向对象中的继承概念,一个子类只能继承自一个父类。通过继承,子类可以将父类中的属性和方法都继承下来,然后在此基础上进行修改和扩展。这极大地简化了开发的复杂度,有效提高了代码的可复用性。
2、多重继承
多重继承指子类同时继承了多个不同父类的属性和方法。使用多重继承可以实现代码的复用,可以对多个类进行集成,从而形成新的复合类。同时开发者可以自由选择需要继承哪些属性和方法,从而避免了代码冗余和代码的重写。
3、多级继承
多级继承指需要继承多个层级的父类属性和方法的情况。多级继承其实是多重继承的形式之一,是指多个类需要按照一个继承顺序来实现属性和方法的继承。因此对于实现多级继承,需要特别注意继承的顺序和继承的树形结构。
想要学习Python,却又担心找不到合适的Python培训机构,在这里推荐大家来老男孩教育。老男孩教育师资团队强大、从业经验丰富、课程体系完善,且拥有真实企业级实战项目,欢迎大家前来试听。
收起阅读 »Python判断路径是否为目录的方法!老男孩Python课程
在Python中,判断路径是否为目录是非常常见的需求之一,因此提供了多种方法来查看路径是否为目录,我们可以根据自己的实际情况来选择适合的方法,接下来一起来学习一下吧。
1、使用os.path.isidr()函数
os.path.isdir()函数可以判断一个路径是否为目录。具体如下:
```import os
path = 'C:/Users/Administrator/Desktop'
if os.path.isdir(path):
print(path, '是目录')
else:
print(path, '不是目录')```
2、使用os.stat()函数
os.stat()函数返回一个路径的详细信息,包括文件大小、创建时间、修改时间等。如果路径为目录,则文件大小为0。可以通过判断文件大小是否为0来判断路径是否为目录,具体如下:
```import os
path = 'C:/Users/Administrator/Desktop'
if os.stat(path).st_size == 0:
print(path, '是目录')
else:
print(path, '不是目录')```
除了以上两种方法,还可以使用try-except语句来判断路径是否为目录。如果执行os.listdir()函数时出现异常,则说明路径不是目录。具体如下:
```import os
path = 'C:/Users/Administrator/Desktop'
try:
os.listdir(path)
print(path, '是目录')
except:
print(path, '不是目录')```
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »什么是CC攻击?老男孩网络安全课程
黑客攻击方式有很多,CC攻击便是其中之一。CC攻击属于DDoS攻击的一种,是一种见效快、成本低、难追踪的常用攻击类型之一,其造成的危害及影响也是无法估量的。那么什么是CC攻击?如何有效防护?以下是具体内容介绍。
什么是CC攻击?
CC攻击是DDOS的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
CC攻击主要有哪些类型?
1、直接攻击
主要针对有重要缺陷的web应用程序,这种情况比较少见,一般只有在程序写出错的时候才会出现。
2、代理攻击
代理攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现dos和伪装。攻击者模拟多个用户不停地进行访问那些需要大量数据操作,需要大量CPU时间的页面。
3、僵尸网络攻击
攻击者通过各种途径传播僵尸程序。然后,当用户感染并激活病毒时,攻击者就可以控制电脑,并下发各种远程命令。最后,随着被感染的电脑越来越多,就形成了庞大的僵尸网络。
如何防御CC攻击?
1、做好网站程序和服务器自身维护。尽可能把网站做成静态页面,做好服务器漏洞防御,服务器权限设置,最好把数据库和程序单独拿出根目录,需要更新使用时再放进去,也可有效防御CC攻击,不过此举操作较为麻烦。
2、隐藏自己服务器IP,更改网站DNS。可以接入安全卫士或云加速,ping自己的网站域名时不会显示自己的网站IP,也可以有效避免DDos和CC攻击。但毕竟是免费产品,有流量上限,有时可能会失效,只能防住一般的CC攻击。
3、接入高防服务:防御能力强,线路稳定,可有效防御CC攻击,避免带来巨大风险。
更多网络安全内容,推荐关注老男孩教育网络安全培训课程。老男孩网络安全培训课程由经验丰富的老师亲自授课,针对不同阶段的学员制定不同进度的课程,脱产班、周末班、网络班总有一款适合你。想学网络安全,点击链接进入网络安全自学视频开始学习吧。
收起阅读 »Linux中如何删除目录?老男孩Linux运维课程
在Linux系统中,rmdir和rm命令都是用来删除文件和目录的,也是非常基础的命令之一,虽然两者有着相同的作用,但却有着不同之处,那么Linux中rmdir和rm命令的主要区别是什么?我们来看看具体内容介绍。
在Linux中,rmdir和rm是用来删除目录的命令,但它们之前存在不同之处。
rmdir:用于删除空目录。如果目录不为空,rmdir将无法删除该目录并显示错误消息。因此,rmdir主要用于删除不包含任何文件和子目录的空目录。
rm:rm命令用于删除文件和目录,它更加强大且灵活。rm可以删除单个文件、多个文件以及非空目录。当使用rm删除目录时,必须使用递归选项-r,以便删除目录及其所有内容。
主要区别如下:
rmdir只能删除空目录,而rm可以删除文件和非空目录。
rmdir删除目录的速度通常比rm快,因为它只需要删除目录本身的记录,而不需要处理目录中的文件。rm可以使用递归选项删除目录及其所有内容,包括其中的文件和子目录。
在使用这两个命令时要小心谨慎,特别是在删除目录时。由于rm命令没有验证步骤,误删除可能导致不可恢复的数据丢失。为避免意外删除重要文件,请确保使用rm命令时仔细检查命令参数,并且最好在执行前进行备份。
老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。
收起阅读 »Python如何输入数组?老男孩Python课程
在Python中,数组通常是用于表示具有相同数据类型的多个元素的数据结构。在Python中数组可以表示为列表或Numpy数组。那么Python中如何输入数组?以下是常用的方法介绍。
1、通过用户输入创建数组
Python中使用input()函数获取用户的输入,可以将用户输入的字符串转换为数组。示例如下:
``python
arr = input("请输入一个数组,各元素之间用空格隔开:").split()
print(arr)
```
运行程序后,会提示用户输入一个数组,各元素之间用空格隔开。用户输入完毕后,程序将把输入的字符串转换为数组,并输出。
2、通过列表生成式创建数组
在Python中,可以使用列表生成式创建一个数组。列表生成式的语法如下:
```python
[expression for item in iterable]
```
其中expression是生成元素的表达式,item是可迭代对象中的每个元素,iterable是一个可迭代的对象,如列表、元组、字符串等。例如,以下代码将创建一个由1到10的整数组成的数组:
```python
arr = [i for i in range(1, 11)]
print(arr)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
3、通过numpy库创建数组
Python中的numpy库是一个用于科学计算的库,它提供了一个高性能多维数组对象和用于数学操作的工具。在numpy中创建数组非常简单,只需调用numpy.array()函数即可。例如,以下代码创建了一个包含3行4列的二维数组:
```python
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(arr)
```
输出结果为:
```
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
```
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »Python eval函数的定义详解!老男孩Python课程
在Python中,我们编写代码的时候经常需要调用内置函数,而且Python中有许多的内置函数可以提供各种功能和操作,比如eval函数。那么Python中eval函数是什么?如何使用?一起来看看详细内容介绍。
1、Python eval函数的定义
Python eval函数通常用于计算在字符串中传递的Python表达式的值。其基本语法为:
eval(expression, globals=None, locals=None)
在以上参数中,eval函数接受三个参数,其中expression是要计算的Python表达式,globals和locals分别是用于在expression中计算全局和局部变量的命名空间。默认情况下,表达式在当前命名空间的上下文中进行计算。
2、Python eval函数的使用方法
接下来,我们来看一些Python eval函数的使用实例:
#实例1
a = 10
b = 20
eval('a+b')
#out:30
在本实例中,Python eval函数计算了字符串中的Python表达式a+b,并返回结果30。
#实例2
expr = '2*3+4'
eval(expr)
#out:10
在本实例中,我们使用一个字符串变量来传递Python表达式,eval函数计算该表达式的值并返回结果10。
#实例3
def add(a, b):
return a + b
eval('add(2, 3)')
#out: 5
在本实例中,Python eval函数计算了一个调用函数add()的Python表达式,并返回结果5。
想要学习Python,却又担心找不到合适的Python培训机构,在这里推荐大家来老男孩教育。老男孩教育师资团队强大、从业经验丰富、课程体系完善,且拥有真实企业级实战项目,欢迎大家前来试听。
收起阅读 »Linux如何查看文件末尾内容?老男孩Linux课程
Linux操作系统是一种开源的操作系统,它具有高度的灵活性和可定制性,在服务器领域广泛应用。而在Linux系统中,tail是常用的命令之一,用于查看文件的末尾内容,本文详细介绍一下Linux中tail命令的使用,一起来看看吧。
tail命令是一个在Linux和Unix系统中使用的命令行工具,用于显示文件的末尾内容。它可以从文件的最后一行开始显示,默认情况下显示文件的最后10行。
tail命令的基本语法如下:
tail [选项] [文件]
常用的选项包括:
-n<行数>:指定要显示的行数。例如,tail -n 20file.txt将显示文件file.txt的最后20行。
-f:实时追踪文件的变化,并持续显示新增的内容。适用于查看日志文件等动态更新的文件。
以下是一些常见的tail命令的示例:
1、显示文件的最后10行
tail file.txt
2、显示文件的最后20行
tail -n 20 file.txt
3、实时追踪文件的变化
tail -f log.txt
4、显示多个文件的最后几行
tail -n 5 file1.txt file2.txt
需要注意的是,tail命令默认以行为单位进行操作,但也可以通过其他选项来改变单位,例如以字节或块数为单位。
老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。
收起阅读 »如何防范勒索病毒攻击?老男孩网络安全
勒索病毒,是一种新型电脑病毒,主要以邮件、程序木马、网页挂马的形式进行传播,其病毒性质恶劣、危害极大,造成的损失也是无法估量的,已经成为网络安全的主要危害之一。那么如何有效应对勒索病毒攻击?以下是具体的内容介绍。
勒索病毒攻击是一种常见的网络安全威胁,它通过加密用户的重要文件或者阻止用户访问计算机系统来勒索赎金。勒索病毒攻击可以给个人和企业带来巨大的损失。因此我们需要采取正确的措施来防范和应对这种威胁。
1、定期备份数据
定期备份至少可以减少重要数据丢失的风险。在备份过程中,最好同时备份至外部设备和云端存储,以防在计算机系统被感染后外部存储设备被锁定的情况。另外,备份数据也应该做好加密和保密,以防止被窃取或泄露。
2、定期更新安全软件和系统补丁
勒索病毒攻击往往是利用计算机系统的漏洞进行攻击的,一旦系统出现漏洞,攻击者就有可能利用这些漏洞进行攻击,不断更新安全软件和补丁可以有效地防范这种攻击。
3、提高员工的安全意识
大多数的勒索病毒攻击都是通过电子邮件、社交网络等途径进行的,而这些途径往往是通过员工的电脑访问的。因此,让员工充分了解这种威胁,并对相关的电子邮件和链接进行筛选和验证,可以大大降低勒索病毒攻击的风险。
4、建立应急响应计划
一旦遭遇勒索病毒攻击,企业或个人应该立即采取措施来隔离和控制感染,以最大限度地减少损失。在应急响应计划中,应该包含在攻击发生时进行的备份策略、病毒扫描和恢复计划。
5、请勿轻易支付赎金
如果已经受到勒索病毒攻击,千万不要轻易支付赎金。支付赎金只会刺激攻击者继续攻击,同时也不能保证数据能够被解密。相反,应该第一时间与网络安全专家联系,以寻找更有效的解决方案。
网络安全培训班正在招生中,更多网络安全课程信息,欢迎咨询老男孩教育在线客服,可免费申请试听学习视频和教学大纲,了解网络安全学习路线。
收起阅读 »Python中set函数如何使用?老男孩Python学习
Python中的列表是一种常见的数据结构,它可以存储同一类型或不同类型的数据。而set函数是Python中非常有用的列表函数,可以对列表进行去重、进行交集等,有着非常重要的作用。本文为大家详细介绍一下Python列表中set函数的用法,一起来看看吧。
1、去重
列表中可能会出现重复的元素,如果需要对列表进行去重操作,可以使用set函数。set函数将列表转换为一个集合,集合中的元素唯一,即去重。例如:
```
list1 = [1, 2, 3, 1, 2, 4]
set1 = set(list1)
print(set1)
```
输出结果为:
```
{1, 2, 3, 4}
```
2、交集、并集、差集
除了去重外,set函数还可以对列表进行交集、并集和差集等操作。例如:
```
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
print(set1 & set2) # 交集
print(set1 | set2) # 并集
print(set1 - set2) # 差集
```
输出结果为:
```
{3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2}
```
3、列表元素类型不限
set函数不限制列表中的元素类型,可以是数字、字符串、元组、列表等。例如:
```
list1 = [1, 'a', (2, 3), [4, 5]]
set1 = set(list1)
print(set1)
```
输出结果为:
```
{1, 'a', (2, 3), [4, 5]}
```
4、set函数不改变原列表
set函数将列表转换为集合后,不改变列表。例如:
```
list1 = [1, 2, 3]
set1 = set(list1)
print(list1)
```
输出结果为:
```
[1, 2, 3]
```
想要学习Python,却又担心找不到合适的Python培训机构,在这里推荐大家来老男孩教育。老男孩教育师资团队强大、从业经验丰富、课程体系完善,且拥有真实企业级实战项目,欢迎大家前来试听。
收起阅读 »Python如何限制输入数字的范围?老男孩Python课程
在Python语言中,限制输入数字的范围是常见的需求,而且Python也提供了多种方法来实现该需求,比如使用if语句、使用while循环等,接下来我们来看看具体的内容介绍。
1、使用if语句
在Python中,可以使用if语句来限制输入数字的范围。例如,如果要求用户输入一个大于等于0小于等于100的整数,可以使用以下代码:
```
num = int(input("请输入一个0~100之间的整数:"))
if num < 0 or num > 100:
print("输入错误,请重新输入!")
else:
print("输入正确!")
```
这段代码首先要将用户输入的字符串转换成整数,然后判断该整数是否小于0或大于100,如果是,则输出错误信息,如果不是,则输出正确信息。通过if语句的判断,可以限制用户输入数字的范围。
2、使用while循环
除了使用if语句,还可以使用while循环来限制输入数字的范围。例如,如果要求用户输入一个大于等于0小于等于100的整数,可以使用以下代码:
```
num = -1
while num < 0 or num > 100:
num = int(input("请输入一个0~100之间的整数:"))
print("输入正确!")
```
这段代码首先要将变量num初始化为-1,然后使用while循环来反复要求用户输入一个整数,直到该整数大于等于0且小于等于100为止。通过while循环的迭代,可以限制用户输入数字的范围。
3、使用try-except语句
除了使用if语句和while循环,还可以使用try-except语句来限制输入数字的范围。例如,如果要求用户输入一个大于等于0小于等于100的整数,可以使用以下代码:
```
while True:
try:
num = int(input("请输入一个0~100之间的整数:"))
if num < 0 or num > 100:
raise ValueError("数字不在范围内!")
else:
print("输入正确!")
break
except ValueError as e:
print(e)
```
这段代码首先使用while True语句来无限循环,然后使用try-except语句来捕获用户输入的异常。如果用户输入的不是整数,则会抛出ValueError异常,并输出错误信息;如果用户输入的是整数但不在0-100之间,则会手动抛出ValueError异常,并输出错误信息;如果用户输入的是整数且在0-100之间,则会输出正确信息,并跳出循环。通过try-except语句的异常处理,可以限制用户输入数字的范围。
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »网络钓鱼攻击是什么?老男孩网络安全课程
近年来,伴随着互联网的发展,网络钓鱼攻击事件日益增多,破坏力逐步增强,各行各业都面临着攻击的风险。那么网络钓鱼是什么?网络钓鱼攻击的形式有哪些?我们来看看详细内容介绍。
网络钓鱼攻击是指使用虚假或伪装的网站、邮件或消息发布平台等社交网络,通过欺骗用户或受害者信息泄露、失窃或恶意篡改。很多时候,这种攻击是针对个人或组织的。攻击者可以通过电子邮件、即时通讯、社交网络甚至是手机短信等方法进行攻击,从而对受害者造成重大损失。
网络钓鱼攻击的形式多种多样,常见形式如下:
1、电子邮件攻击
电子邮件攻击是网络钓鱼攻击中最常见的一种形式之一。攻击者通常会通过电子邮件或其他公共渠道向用户发送仿真邮件,骗取用户的登录名和密码等敏感信息。电子邮件内容可能会装点成关于账户安全、信用卡账单或类似的话题,以吸引收件人打开并点击其中的链接。
2、社交媒体攻击
社交媒体攻击也是网络钓鱼攻击中常见的一种,攻击者通常借助社交媒体平台发布诱骗用户点击或登录的信息。
3、伪装成合法网站
攻击者还可以制作与合法网站相似的伪造网站,以诱骗用户输入个人账户信息或财务信息,如银行账户信息、信用卡信息。
4、水坑攻击
水坑攻击指的是攻击者伪装成正常用户,在常用网站上留下可疑的评论或内容,引导用户点击链接进入到诱骗页面或者点击恶意链接,最终达到窃取用户信息的目的。
网络安全培训班正在招生中,更多网络安全课程信息,欢迎咨询老男孩教育在线客服,可免费申请试听学习视频和教学大纲,了解网络安全学习路线。
收起阅读 »Linux中ls命令有何作用?老男孩Linux运维课程
在Linux系统中,list命令简称ls,中文意思为列表。ls是最常见的目录操作命令,其主要功能是显示指定工作目录下的内容,且提供了多种选项参数,那么Linux系统中的list命令有何作用?以下是详细内容介绍。
在Linux中,ls命令是一个非常常用的命令之一,用于列出目录中的文件和子目录。通过使用不同的选项,您可以获得不同形式的输出。以下是一些常用的ls命令选项。
ls:简单地列出当前目录中的文件和子目录。
ls -l:以详细列表形式显示文件和子目录的详细信息,包括文件权限、所有者、大小和修改时间等。
ls -a:显示所有文件和子目录,包括以.开头的隐藏文件。
ls -h:以人类可读的格式显示文件和子目录的大小。
ls -t:按最后修改时间进行排序,最新的文件或子目录会显示在最上面。
ls -r:以相反的顺序显示文件和子目录。
还可以将多个选项结合在一起使用,例如ls -l -a或ls -lhtr。此外,还有其他一些选项可用于进一步定制输出,您可以通过man
ls命令查看ls命令的完整文档并了解更多选项和用法。
老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。
收起阅读 »Python如何查看库版本?老男孩Python培训
Python有一个非常独特的优势,它内置了很多第三方库,拿来即用十分方便,比如:Numpy、pandas、matplotlib等。而当我们使用Python库的时候,有时候需要查看其版本,那么Python中如何查看库版本?以下是常用方法介绍。
一、使用pip命令查看库版本
pip是Python的包管理工具,可以用来安装、升级、卸载Python包。要查看已安装的库的版本号,可以使用pip命令。具体步骤如下:
1、打开命令行终端,输入pip list,可以列出所有已安装的Python包及其版本号。
2、如果只想查看某个特定库的版本号,可以在命令行中输入pip show库名,如pip show numpy。
3、执行上述命令后,命令行终端会显示该库的名称、版本号、作者、许可证等详细信息。
二、使用import语句查看库版本
在Python中,可以使用import语句导入库,并查看其版本号。具体步骤如下:
1、打开Python交互式环境或IDE,输入“import 库名”,如“import numpy”。
2、在导入库后,可以使用“库名.__version__”语句查看其版本号,如“numpy.__version__”。
3、执行上述语句后,Python会返回该库的版本号。
三、使用pkg_resources模块查看库版本
pkg_resources是Python的一个标准库,提供了许多有用的工具,如查找、安装、升级、卸载Python包等。要查看已安装的库的版本号,可以使用pkg_resources模块。具体步骤如下:
1、打开Python交互式环境或IDE,输入“import pkg_resources”。
2、在导入模块后,可以使用“pkg_resources.get_distribution('库名').version”语句查看其版本号,如“pkg_resources.get_distribution('numpy').version”。
3、执行上述语句后,Python会返回该库的版本号。
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »Python怎么生成1到100的随机数?老男孩Python课程
编写程序时,我们经常需要用到随机数,而且随机数在很多场景下都很有用,比如游戏、密码生成等等,那么Python如何随机生成1到100的随机数?以下是常用方法介绍。
1、使用random模块
Python中的random模块提供了生成随机数的函数。其中,randint()函数可以生成指定范围内的随机数。下面是一个例子:
import random
num = random.randint(1, 100)
print(num)
这个程序会在1-100之间生成一个随机整数,并将其打印出来。需要注意的是,randint()函数包含指定的两个端点。
除了randint()函数,random模块还提供了其他生成随机数的函数,如:random()函数可以生成0-100之间的随机浮点数;uniform()函数可以生成指定范围内的随机浮点数;randrange()函数可以生成指定范围内的随机整数,但是不包含指定的右端点。
2、使用secrets模块
Python3.6中新增了一个secrets模块,它提供了更加安全地和随机数生成函数。其中,randbelow()函数可以生成指定范围内的随机整数,但是不包含指定的右端点。下面是一个例子:
import secrets
num = secrets.randbelow(100) + 1
print(num)
这个程序会在1-100之间生成一个随机整数,并将其打印出来。需要注意的是,randbelow()函数不包含指定的右端点,因此需要将生成的随机数加1。
除了randbelow()函数,secrets 模块还提供了其他生成随机数的函数,如:token_bytes()
函数可以生成指定长度的随机字节;token_hex() 函数可以生成指定长度的随机十六进制字符串;token_urlsafe() 函数可以生成指定长度的随机
URL 安全字符串。
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »Linux常见权限有哪些?老男孩Linux运维课程
777权限是一种在Linux和Unix操作系统下常见的文件权限设置,它是指所有用户都具有文件的读、写和执行权限。那么Linux系统中777权限是什么意思?我们通过这篇文章具体来介绍一下吧。
在Linux系统中,文件或目录的权限可以分为3种:
R:4 可读
W:2 可写
X:1 执行
-:对应数值0
数字4、2和1表示读、写、执行权限
rwx=4+2+1=7(可读写运行)
rw=4+2=6(可读写不可运行)
rx=4+1=5(可读可运行不可写)
所以最高权限就是777:(4+2+1)(4+2+1)(4+2+1)
第一个7:表示当前文件的拥有者的权限,7=4+2+1可读可写可执行权限;
第二个7:表示当前文件的所属组权限,7=4+2+1可读可写可执行权限;
第三个7:表示当前文件的组外权限,7=4+2+1可读可写可执行权限。
收起阅读 »网站被CC攻击怎么办?老男孩网络安全课程
CC攻击属于DDoS攻击的一种,是目前常见的网络攻击方式之一,其主要用来攻击页面的,它通过模拟大量用户访问网站,从而导致网站无法被正常用户访问。那么什么是CC攻击?网站被CC攻击怎么办?以下是应对方法。
什么是CC攻击?
CC攻击是指通过控制大量的“僵尸”计算机(也称为“肉鸡”)向目标服务器发送大量的恶意流量,从而造成服务器的过载和瘫痪。
CC攻击通常包括以下几个阶段:扫描、招募肉鸡、发动攻击、维持攻击。
网站被CC攻击怎么办?
1、域名解除绑定
目前大部分发起CC攻击的对象都是攻击域名,因此最好的办法就是先把域名解除绑定,这网站就无法被CC攻击了。但是同样的,取消绑定之后,其他正常用户也无法访问网站,因此这只是权宜之计。
2、更改域名解析
正常的CC攻击都是针对域名而发起的,这时我们可以把域名解析更改为127.0.0.1这个IP地址上,这个IP的作用是回送地址,如果把域名解析到这个IP上,cc攻击就很有可能会直接回流到攻击者自己的服务器上。
3、修改web端口
正常网站服务器的端口都是默认的80端口来进行对外访问,如果cc攻击针对的是80端口进行攻击,那么我们修改端口也就能有效避免CC攻击了。
4、屏蔽IP
一般发起CC攻击者,我们都能通过命令调用或者查找网站日志来发现攻击源IP,这时候就把攻击源ip都收集起来进行屏蔽设置,如果攻击者是用某个ip段发起cc攻击,那么我们就要把整个ip段一起屏蔽,这样可以有效的抵御一部分cc攻击。
5、优化网站代码
网站尽可能使用静态页面,因为静态页面的数据量较少,相比动态页面而言,不用频繁的调用数据库,这样即使面对CC攻击,也能大大的减少服务器的吞吐量,不至于造成卡死、宕机等现象。
收起阅读 »Linux有哪些就业岗位?老男孩Linux运维
Linux是一种免费使用和自由传播的类Unix操作系统,主流的服务器操作系统、主流的软件开发环境、主流的互联网应用大部分都是基于Linux系统的,因此也延伸了很多与Linux有关的工作岗位。那么学习完Linux可以从事哪些岗位的工作?以下是详细的内容介绍。
1、Linux运维工程师
需要牢固掌握Linux基础及常见开源软件服务集群,掌握shell、MySQL、监控。熟练掌握阿里云为首的公有云搭建集群实战。此阶段是态度为先的阶段,态度加能力突破20k也不是问题,能够独挡一面做较好的执行者和问题解决者。
2、Linux高级架构师
能够根据企业问题和需求,提供适合的解决方案并能推进执行,能够根据趋势排查企业问题和隐患,提前给出方案,除了技术外,还要具备沟通、表达、思想能力,能够独挡一面做问题的终结者。
3、运维开发工程师
需要掌握Linux基础及常见开源软件服务集群,开发自动化、智能化、图形化运维管理平台与运维软件,提升运维秒级交付与标准化、快速维护能力,减少运维故障发生。
4、数据库管理员
熟练Linux基础和基本服务,熟练MySQL/Redis/Memcached/MongoDB等技术擅长开发更佳。
5、云计算架构师
熟练Linux基础和基本服务,精通Openstack/Ceph/Kvm等的集群架构及调优,了解核心OpenStack代码。
老男孩教育因材施教、分班授课;从0基础到高端运维,实现了Linux+云计算技术的完美过渡,你不会缺失任何一项技术。无论是零基础的大学生,还是行业新人,还是在职多年的IT人士,都可以来老男孩教育Linux云计算学院提升自己。
收起阅读 »Python库有哪些?老男孩Python培训课程
为什么这么多人选择学习python?首先,python是一门全场景编程语言,对于初学编程的人而言,选择一门全场景编程语言是非常不错的选择;其次,python语言简单易学,对初学者十分友好,即便没有任何编程语言基础也很容易学习;另一大原因是因为python拥有大量的第三方库,开箱即用,可以更好地提高工作效率。本篇文章,老男孩教育小编为大家介绍10个顶级且实用的python库,一起来看看吧。
1、Dash
Dash是比较新的软件包,它是用纯python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask、Plotly.js和React.js的混合体。
2、Pygame
Pygame是SDL多媒体库的python装饰器,SDL是一个跨平台开发库,旨在提供对以下内容的低级接口:音频、键盘、鼠标、游戏杆、基于OpenGL和Direct3D的图形硬件。
Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从python脚本播放MP3文件。
3、Pillow
Pillow专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换、旋转、应用滤镜、显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。
4、Colorama
Colorama允许你在终端使用颜色,非常适合python脚本,文档简短而有趣,可以在Colorama PyPi页面上找到。
5、JmesPath
在python中使用JSON非常容易,因为JSON在python字典上的映射非常好。此外,python带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一,如果我需要使用JSON,可以考虑使用python。
JmesPath使python处理JSON更加容易,它允许您明确地指定如何从JSON文档中提取元素。
6、Requests
Requests建立在世界上下载量最大的python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。
Requests可以完成您能想到的所有高级工作,比如:认证,使用cookie,执行POST、PUT、DELETE等,使用自定义证书,使用会话Session、使用代理等。
7、Simplejson
python中的本地json模块有什么问题?没有!实际上,python的json是Simplejson。意思是:python采用了Simplejson的一个版本,并将其合并到每个发行版中,但是使用Simplejson具有一些优点:它适用于更多python版本、它比python随附的版本更新频率更高、它具有用C编写的部分,因此非常快速。
8、Emoji
Emoji库非常意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。
9、Python-dateutil
Python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是:常规的python日期时间功能在哪里结束,而Python-dateutil就出现了。
10、BeautifulSoup
如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。BeautifulSoup是一个python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML,这是一个非常强大的功能。
它的一些主要功能:
①BeautifulSoup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8,您无需考虑编码。
②BeautifulSoup位于流行的python解析器的顶部,使您可以尝试不同的解析策略或提高灵活性。
老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定了Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!
收起阅读 »Linux中ext3和ext4有什么区别?老男孩Linux课程
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,其中包含:EXT2、EXT3、EXT4、FAT、FAT32等。那么Linux系统中ext3和ext4有什么不同?以下是详细的内容介绍。
Linux系统中ext3和ext4有什么不同?
1、更大的文件系统和更大的文件
ext3:16TB文件系统和最大2TB文件;
ext4:1EB文件系统和最大16TB文件。
2、无限数量的子目录
ext3:32000个子目录;
ext4:无限数量的子目录。
3、Extents
ext3:采用间接块映射,当操作大文件时,效率极其低下。比如一个100MB大小的文件,在ext3中要建立25600个数据块的映射表。
ext4:引入了Extents概念,每个Extent为一组连续的数据块,上述文件则表示为该文件数据保存在接下来的25600个数据块中,提高了不少效率。
4、多块分配
ext3的数据块分配器每次只能分配一个4KB的块,写一个100MB文件就要调用25600次数据块分配器,而ext4的多块分配器multiblock
allocator支持一次调用分配多个数据块。
5、延迟分配
ext3的数据块分配策略是尽快分配,而ext4是尽可能地延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
6、inode相关特性
ext3:128byte;
ext4:256byte。
想要了解更多Linux运维的相关知识,可以关注老男孩IT教育。老男孩IT教育是行业内较早从事Linux培训的机构,师资团队强大、课程体系完善,全企业级真实案例授课,助你快速高薪就业。
收起阅读 »渗透测试需要学多久?老男孩渗透测试课程
学习完网络安全之后,可从业的岗位有很多,其中最为常见的就是渗透测试工程师。渗透测试工程师是信息安全行业中比较独特的岗位,也是大家进入信息安全领域的首要目标,那么渗透测试工程师学多久?岗位职责是什么?以下是详细的内容介绍。
渗透测试工程师学多久?
0基础学习网络安全的时间一般在3-4个月之间,这个时间说的就是大家把这一整段时间用在学习网络安全上,每天花8个小时左右去学习。除了学习渗透测试相关内容之外,还需要学习源码审计、等级保护、等保测评、风险评估、应急响应等内容,学完之后有多种岗位可以选择,比如:渗透测试工程师、网络安全工程师、安全运维工程师、安全服务工程师等,可根据自己的情况来决定。
渗透测试属于网络安全体系的一小部分,学习周期的话大概在20-30天左右。不过想要成为一名优秀的渗透测试工程师单一学习渗透测试的知识远远不够,全方面了解才可以获得更好的发展机会。
渗透测试工程师岗位职责是什么?
①负责对客户系统进行渗透测试,尽可能发现存在的安全问题并提出修复建议。
②客户系统出现安全事件时进行应急处置,协助客户修复安全漏洞。
③跟踪国内外信息安全动态,进行安全攻防技术研究。
④对网络安全攻防感兴趣,熟练掌握渗透测试技巧,熟练运用各种安全软件、安全测试工具。
⑤熟练掌握Windows、Linux平台使用、攻击技术。
⑥熟悉常见的Web安全漏洞的原理、测试方法、加固方法。
⑦具有较好的工作习惯及较强的文档、报告、方案编写能力。
⑧熟悉各主流安全厂商产品。
收起阅读 »学网络安全如何选择学校?老男孩网络安全
近年来,随着网络攻击事件频发,网络安全问题受到了高度重视;也正因为这样,现在的企业对网络安全人才的需求持续增长,未来几年将迎来巨大的市场,因此学习网络安全的人也越来越多。那么学网络安全哪里培训比较好?在这里推荐老男孩IT教育。
想要学习网络安全,首先我们需要了解什么是网络安全,下面小编为大家讲解一下。
从本质上来讲,网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
从广泛意义上来讲,凡是涉及到网络上信息的完整性、保密性、可控性、可用性和不可否认性的相关技术和理论都是网络安全所要进行研究的领域。
学网络安全哪里培训比较好?
①拥有系统且专业的课程:培训机构的出现更多的是为了帮助学员快速就业,因此培训机构所设置的课程大多数都是根据市场需求以及企业用人标准而制定的,以就业为导向,学习既系统化,也有针对性。老男孩教育经过十数年沉淀,重磅推出网络安全课程,该课程以网络安全人才的录用标准进行教学,从根本上提高学员的技术水平,不仅课程体系完善、专业,而且内含众多企业级实战项目。
②拥有优质的教学资源:老男孩网络安全课程由10年以上网络信息安全领域从业经验的行业大牛亲自授课,并与京东科技集团达成战略合作,学员在校期间便可参与实训,积累更多的实战经验。
③拥有专业的就业指导:当下,很多企业在招聘时都会询问求职者职业规划的问题,而为了帮助学员树立正确清晰的职业规划路线,老男孩教育特开设了就业指导课程,职场礼仪、就业指导、面试、简历、工作经验技巧等全都包含在内,给予学员最大的就业帮助;除此之外,老男孩教育还与各大公司达成合作,为学员提供内部推荐就业的机会。
收起阅读 »python中=和==的区别!老男孩python课程
众所周知,Python是一门语法简洁优美,功能强大的编程语言,应用领域非常广泛,而且具有丰富的第三方库。这篇文章,小编为大家分享一个新的知识点:Python语言中=和==有什么区别?以下是详细的内容介绍。
Python语言中=和==有什么区别?
在Python中,=是赋值的意思,==是用于判断是否相等。
他们之间的区别就是代表的含义有所不同。
一个等号代表的含义是赋值,将某一个数值赋给某个变量,比如a=3,将3这个数值赋予给a。
两个等号是判断是否相等,返回True和False,比如1==1,他们是相等的,那么就返回true;1==2,他们是不相等的,那么就返回false。
Python比较运算符
==:等于-比较对象是否相等;
!=:不等于-比较两个对象是否不相等;
<>:不等于-比较两个对象是否不相等,在Python3中已废弃;
>:大于-返回X是否大于y;
<:小于-返回X是否小于y,所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价;
>=:大于等于-返回X是否大于等于Y;
<=:大于等于-返回X是否小于等于Y。
Python赋值运算符
=:简单的赋值运算符;
+=:加法赋值运算符;
-=:减法赋值运算符;
*=:乘法赋值运算符;
/=:除法赋值运算符;
%=:取模赋值运算符;
**=:幂赋值运算符;
//=:取整除赋值运算符。
学Python全栈开发+人工智能,推荐老男孩教育,我们专注互联网IT技术人才培训和企业内训服务,一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。
收起阅读 »什么是代码审计?老男孩网络安全课程
近几年来,勒索病毒全面爆发,全球范围内不少企业都遭受到攻击,造成严重损失,因此网络安全的重要性日益凸显。在网络安全保障体系中,代码审计是非常重要且核心的工作,但被很多企业所忽视,那么什么是代码审计?代码审计有什么好处?我们一起来学习一下吧。
什么是代码审计?
顾名思义就是检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。
代码审计是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。
它是防御性编程范例的一个组成部分,它试图在软件发布之前减少错误。
C和C++源代码是最常见的审计代码,因为许多高级语言具有较少的潜在易受攻击的功能,比如Python。
代码审计有什么好处?
99%的大型网站以及系统都被拖过库,泄漏了大量用户数据或系统暂时瘫痪。此前,某国机场遭受勒索软件袭击,航班信息只能手写。
提前做好代码审计工作,最大的好处就是将先于黑客发现系统的安全隐患,提前部署好安全防御措施,保证系统的每个环节在未知环境下都能经得起黑客挑战,进一步巩固客户对企业及平台的信赖。
老男孩教育网络安全培训学院,师资力量雄厚,10年以上网络安全技术大咖倾情授课,完整实训案例、前沿技术成果展示、行业必备技能传授,名师更易出高徒。理论与实践相结合,全程面授教学,边讲边练,帮助学员高效掌握网络安全技能,快速成长。
收起阅读 »Linux进程间通信是什么?老男孩Linux运维课程
Linux进程间通信有几种方式?所谓进程间通信,就是在不同进程之间传播或交换信息,Linux支持多种进程间通信机制,常见的方式如下:
进程间通信(IPC,Interprocess
communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性,一般,对于单个程序而言使用所有的IPC方法是不常见的。
1、无名管道通信
无名管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常是指父子进程关系。
2、高级管道通信
高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们称为高级管道方式。
3、有名管道通信
有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
4、消息队列通信
消息队列(message
queue):消息队列是由消息的链表,存放在内核中并由消息队列标识符标识,消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
5、信号量通信
信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问,它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
6、信号
信号(sinal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
7、共享内存通信
共享内存(shared
memory):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。
8、套接字通信
套接字(socket):套接字也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。
老男孩教育10余年技术沉淀,课程内容多次更新迭代,更加注重学员的实践动手能力以及运维思维的形成,想深入学习Linux云计算运维的知识,可以关注下老男孩教育。
收起阅读 »Linux中grep如何使用?老男孩Linux学习班
进行Linux系统维护的时候,想要在文本中快速搜索到你需要的东西,grep命令是非常不错的选择,它主要用于查找文件里符合条件的字符串,从而节省时间、提高工作效率。那么Linux系统中grep命令如何使用?我们一起来看看详细的内容介绍。
Linux grep命令用于查找文件里符合条件的字符串。
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。
语法
grep
[-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数
-a或--text:不要忽略二进制的数据。
-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b或--byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
-c或--count:计算符合样式的列数。
-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。
-E或--extended-regexp:将样式为延伸的正则表达式来使用。
-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F或--fixed-regexp:将样式视为固定字符串的列表。
-G或--basic-regexp:将样式视为普通的表示法来使用。
-h或--no-filename:在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H或--with-filename:在显示符合样式的那一行之前,表示该行所属的文件名称。
………………
参数较多,就不为大家一一讲解了!
老男孩教育因材施教、分班授课;从0基础到高端运维,实现了Linux+云计算技术的完美过渡,你不会缺失任何一项技术。无论是零基础的大学生,还是行业新人,还是在职多年的IT人士,都可以来老男孩教育Linux云计算学院提升自己。
收起阅读 »