2019.3-2019.9.6日的笔记
Ls
Ls –a
Ls –h
Ls –alh
Cd
Tree #树形结构查看当前目录
Man help
Clear
Rm
Touch
Madit
Ls > xxx.txt
Ls >>xxx.txt
Cat
Gedit
More
Ls –alh bin/ | more
相对路径
绝对路径
Cd ./
Cd ../..
Cd /home/
Cd –
Cd ~
Ctrl+c #终止命令
Rm#删除文件
Rm *.txt #删除当前路径全部txt文件
Rm -r #强制删除
Mkdir A/B/C/D/E –P #创建文件A里面的B的C的E
Rmdir #命令可以从一个目录中删除一个或多个空的子目录
Mv原文件名 新文件名 #修改文件后缀名
Mv #真正功能是移动文件,还有剪切粘贴功能
Ln –s 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件,
Ln 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件
Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件内容重定向合拼在xxx.txt文件夹里
Gedit 编辑查看内容
Grep “ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含“ntfs”
Grep “^ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含以“ntfs”开头的文件
Grep “ntfs$” xxx.txt #在xxx.txt文件里搜索查找文件内容包含以“ntfs”结尾的文件
Grep -n“ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含“ntfs”在哪一行
Grep -v“ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容不包含“ntfs”
Cp #某文件复制粘贴到某个文件夹里
Cp A B/ -r #强制把A文件复制粘贴到B文件夹里
Find #从指定路径找文件
Find / -name “test.sh”#从指定路径找文件“test.sh”
Find /tmp –size -2M #查找在/tmp 目录次啊等于2M的文件;+2M是大于,-2M是小于
Find --help #find命令功能,任何指令都可以用
Sudo #权限不够的情况下使用
压缩解压缩命令:
Tar –cvf xxx.tar *.py #把所有带.py的文件打包到xxx.tar 文件
Tar –zcvf xxx.tar.gz *.py #把所有带.py的文件打包并且压缩到xxx.tar.gz 文件
Tar –zxvf xxx.tar.gz #把打包并且压缩的文件包xxx.tar.gz 解压
Tar -jcvf yyy.tar.bz2 *.py #把所有带.py的文件打包并且压缩到yyy.tar.bz2 文件
Tar –jxvf yyy.tar.bz2 #把打包并且压缩的文件包yyy.tar.bz2 解压
Zip zzz.zip *py #把所有带.py的文件打包并且压缩到zzz.zip 文件
Unzip zzz.zip *py
Which ls #查看ls命令原来是在哪个路径的文件,比如说ls命令针对的是bin/目录下的命令
Cd /bin/ #查看bin文件夹下的命令
系统管理命令
Cal #当前日历时间
Cal –y 2018 #2018年日历
Date “+%Y年%m月%d日” #当前年月日格式
Ps #任务管理器
Ps –aux #查看当前运行情况
Top #查看当前运行情况
htop #查看当前运行情况,这个更牛
kill #关闭运行程序
kill -9 ID号 #强制关闭ID号的运行程序
reboot #重启电脑
shutdown –h now #立刻关机
shutdown –h 20:20 # 20:20立刻关机
shutdown –h +10 # 2系统十分钟自动关机
init 0 #关机
init 6 #重启
df #硬盘使用情况
df –h #硬盘使用情况
du –h #当前路径使用情况
ifconfig #查看当前网络信息 IP地址信息
ping #测试远程主机连通性
用户权限管理命令
Useradd python #添加python账户
Su #切换账户
Passwd #设置密码
Whoami #查看当前账户
Exit #退出当前用户,返回原来用户
Ssh python@172.16.7.139 #ssh+用户名+@+id地址 远程登录电脑
Ctrl+shift+T #建立新窗口,多用户操作
Cat /etc/passwd #查看创建的账目
Sudo useradd gebilaowang –m #是创建用户gebilaowang -m是顺便创建这个家目录
Who #查看当前所有登录用户
Rm / -rf #从根目录删,严禁使用
Sudo userdel gebilaowang #把gebilaowang账号用户删了
Su – xxxx #切换到xxxx用户,-是同时切换到账户目录里面
Sudo –s #切换到root超级管理员用户
Cat /etc/group #查看组
Groupmod +几次tab键 #查看组
Sudo groupadd YYY #创建YYY组
为创建的普通用户添加sudo权限
新创建的用户,默认不能sudo,需要进行一下操作
Sudo usermod –a –G sudo 用户名
Sudo usermod –a –G adm 用户名
Chowm #修改文件所有者
Chgrp #修改文件所属组
Chmod u=rwx 文件名 #修改权限拥有者rwx可读可写可执行
Chmod g=rwx 文件名 #修改权限同组者rwx可读可写可执行
Chmod o=rwx 文件名 #修改权限其他人rwx可读可写可执行
R=4
W=2
x=1
Chmod 137 文件名 # x=1可执行 wx=3可写可执行 rwx=7可读可写可执行
Vim命令
Vim 4.py
编辑(插入)模式 |
命令模式 |
末行模式 |
i
一个冒号:
esc esc
O(大写字母)
8 |
i a
大写I行首 A行尾
O(小写o)
Vi命令
命令模式:
Yy 复制光标所在行
4yy 复制光标所在开始向下的4行
P 粘贴
dd 剪切光标所在行
2dd 剪切光标所在行向下2行
D从当前的光标开始剪切,一直到行尾
D0从当前的光标开始剪切,一直到行首
Dw删一个单词
X删除当前光标前面的哪个,每次只会删一个
x删除当前光标后面的哪个,每次只会删一个
h左 j下 k上 l右
H当前屏幕的上方
M当前屏幕的中间
L当前屏幕的下方
Ctrl+f-----à向下翻一页代码
Ctrl+b-----à向上翻一页代码
20G快速的定位到20行
G快速的回到整个代码的最后一行
gg快速的回到整个代码的第一行
w向后跳一个单词的长度,即跳到下一个单词的开始处
d向前跳一个单词的长度,即跳到前一个单词的开始处
u撤销
Ctrl+r 反撤销
选中一片代码
v:
V
>>向右移动代码
<<向左移动代码
.重复执行上一次的命令
r替换一个字符
R替换光标以及后面的字符
替换命令
把abc全部替换成123
末行模式下,将当前文件中的所有abc替换成123
:%s/abc/123/g
末行模式下,将第1行至第10行之间的abc替换成123
:1,10/abc/123/g
Shift+zz相当于wq
末行模式:
W保存
Q退出
Wq保存并且退出
Win+r \\id地址 #服务器上传下载
07-python的交互模式,ipython
Python3
Exit() #退出
Ipython3
Exit #退出
:Set nu #命令末行下输入命令显示行号
#是单行注释
”””###””” #3个单引号或双引号是多行注释
#coding=utf-8 #python2 打开不了的加
#-*- coding:utf-8 -*- #python2 打开不了的加
Input #输入指令
Print #输出指令
Age=18
Print(“%D”%age) #打印age里面的值18,数字用%d
Name = “lishuide”
Print(“%s”%name) #打印name里面的值李水德,数字用%s
Python3版本中
没有raw_input()函数,只有input()
并且python3中的input与python2中的raw_input()功能一样
Ls
Ls –a
Ls –h
Ls –alh
Cd
Tree #树形结构查看当前目录
Man help
Clear
Rm
Touch
Madit
Ls > xxx.txt
Ls >>xxx.txt
Cat
Gedit
More
Ls –alh bin/ | more
相对路径
绝对路径
Cd ./
Cd ../..
Cd /home/
Cd –
Cd ~
Ctrl+c #终止命令
Rm#删除文件
Rm *.txt #删除当前路径全部txt文件
Rm -r #强制删除
Mkdir A/B/C/D/E –P #创建文件A里面的B的C的E
Rmdir #命令可以从一个目录中删除一个或多个空的子目录
Mv原文件名 新文件名 #修改文件后缀名
Mv #真正功能是移动文件,还有剪切粘贴功能
Ln –s 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件,
Ln 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件
Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件内容重定向合拼在xxx.txt文件夹里
Gedit 编辑查看内容
Grep “ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含“ntfs”
Grep “^ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含以“ntfs”开头的文件
Grep “ntfs$” xxx.txt #在xxx.txt文件里搜索查找文件内容包含以“ntfs”结尾的文件
Grep -n“ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容包含“ntfs”在哪一行
Grep -v“ntfs” xxx.txt #在xxx.txt文件里搜索查找文件内容不包含“ntfs”
Cp #某文件复制粘贴到某个文件夹里
Cp A B/ -r #强制把A文件复制粘贴到B文件夹里
Find #从指定路径找文件
Find / -name “test.sh”#从指定路径找文件“test.sh”
Find /tmp –size -2M #查找在/tmp 目录次啊等于2M的文件;+2M是大于,-2M是小于
Find --help #find命令功能,任何指令都可以用
Sudo #权限不够的情况下使用
压缩解压缩命令:
Tar –cvf xxx.tar *.py #把所有带.py的文件打包到xxx.tar 文件
Tar –zcvf xxx.tar.gz *.py #把所有带.py的文件打包并且压缩到xxx.tar.gz 文件
Tar –zxvf xxx.tar.gz #把打包并且压缩的文件包xxx.tar.gz 解压
Tar -jcvf yyy.tar.bz2 *.py #把所有带.py的文件打包并且压缩到yyy.tar.bz2 文件
Tar –jxvf yyy.tar.bz2 #把打包并且压缩的文件包yyy.tar.bz2 解压
Zip zzz.zip *py #把所有带.py的文件打包并且压缩到zzz.zip 文件
Unzip zzz.zip *py
Which ls #查看ls命令原来是在哪个路径的文件,比如说ls命令针对的是bin/目录下的命令
Cd /bin/ #查看bin文件夹下的命令
系统管理命令
Cal #当前日历时间
Cal –y 2018 #2018年日历
Date “+%Y年%m月%d日” #当前年月日格式
Ps #任务管理器
Ps –aux #查看当前运行情况
Top #查看当前运行情况
htop #查看当前运行情况,这个更牛
kill #关闭运行程序
kill -9 ID号 #强制关闭ID号的运行程序
reboot #重启电脑
shutdown –h now #立刻关机
shutdown –h 20:20 # 20:20立刻关机
shutdown –h +10 # 2系统十分钟自动关机
init 0 #关机
init 6 #重启
df #硬盘使用情况
df –h #硬盘使用情况
du –h #当前路径使用情况
ifconfig #查看当前网络信息 IP地址信息
ping #测试远程主机连通性
用户权限管理命令
Useradd python #添加python账户
Su #切换账户
Passwd #设置密码
Whoami #查看当前账户
Exit #退出当前用户,返回原来用户
Ssh python@172.16.7.139 #ssh+用户名+@+id地址 远程登录电脑
Ctrl+shift+T #建立新窗口,多用户操作
Cat /etc/passwd #查看创建的账目
Sudo useradd gebilaowang –m #是创建用户gebilaowang -m是顺便创建这个家目录
Who #查看当前所有登录用户
Rm / -rf #从根目录删,严禁使用
Sudo userdel gebilaowang #把gebilaowang账号用户删了
Su – xxxx #切换到xxxx用户,-是同时切换到账户目录里面
Sudo –s #切换到root超级管理员用户
Cat /etc/group #查看组
Groupmod +几次tab键 #查看组
Sudo groupadd YYY #创建YYY组
为创建的普通用户添加sudo权限
新创建的用户,默认不能sudo,需要进行一下操作
Sudo usermod –a –G sudo 用户名
Sudo usermod –a –G adm 用户名
Chowm #修改文件所有者
Chgrp #修改文件所属组
Chmod u=rwx 文件名 #修改权限拥有者rwx可读可写可执行
Chmod g=rwx 文件名 #修改权限同组者rwx可读可写可执行
Chmod o=rwx 文件名 #修改权限其他人rwx可读可写可执行
R=4
W=2
x=1
Chmod 137 文件名 # x=1可执行 wx=3可写可执行 rwx=7可读可写可执行
Vim命令
Vim 4.py
编辑(插入)模式 |
命令模式 |
末行模式 |
i
一个冒号:
esc esc
O(大写字母)
8 |
i a
大写I行首 A行尾
O(小写o)
Vi命令
命令模式:
Yy 复制光标所在行
4yy 复制光标所在开始向下的4行
P 粘贴
dd 剪切光标所在行
2dd 剪切光标所在行向下2行
D从当前的光标开始剪切,一直到行尾
D0从当前的光标开始剪切,一直到行首
Dw删一个单词
X删除当前光标前面的哪个,每次只会删一个
x删除当前光标后面的哪个,每次只会删一个
h左 j下 k上 l右
H当前屏幕的上方
M当前屏幕的中间
L当前屏幕的下方
Ctrl+f-----à向下翻一页代码
Ctrl+b-----à向上翻一页代码
20G快速的定位到20行
G快速的回到整个代码的最后一行
gg快速的回到整个代码的第一行
w向后跳一个单词的长度,即跳到下一个单词的开始处
d向前跳一个单词的长度,即跳到前一个单词的开始处
u撤销
Ctrl+r 反撤销
选中一片代码
v:
V
>>向右移动代码
<<向左移动代码
.重复执行上一次的命令
r替换一个字符
R替换光标以及后面的字符
替换命令
把abc全部替换成123
末行模式下,将当前文件中的所有abc替换成123
:%s/abc/123/g
末行模式下,将第1行至第10行之间的abc替换成123
:1,10/abc/123/g
Shift+zz相当于wq
末行模式:
W保存
Q退出
Wq保存并且退出
Win+r \\id地址 #服务器上传下载
07-python的交互模式,ipython
Python3
Exit() #退出
Ipython3
Exit #退出
:Set nu #命令末行下输入命令显示行号
#是单行注释
”””###””” #3个单引号或双引号是多行注释
#coding=utf-8 #python2 打开不了的加
#-*- coding:utf-8 -*- #python2 打开不了的加
Input #输入指令
Print #输出指令
Age=18
Print(“%D”%age) #打印age里面的值18,数字用%d
Name = “lishuide”
Print(“%s”%name) #打印name里面的值lishuide,字符串用%s
Python3版本中
没有raw_input()函数,只有input()
并且python3中的input与python2中的raw_input()功能一样
If 用来完成判断
If 条件:
条件成立的时候,做的事情
Else:
条件不成立的时候做的事情
If 用来完成判断
条件成立做这件事情
Elif 条件1:
条件成立做条件1事情
Elif 条件2:
条件成立做条件2事情
Elif 条件3:
条件成立做条件3事情
………
Else:
前面条件不成立做这件事情
Type() #查看类型
Int() #把字符串转化成整形
变量名一定要用英文:
如:English_score = 100
不允许用的变量名如下图:
查看不能用的关键字作为变量名的方法:
Ipython3
Import keyword
Keyword.kwlist
运算符:
+ #加
- #减
* #乘
/ #除
a//b #取商数
a%b #取余数
2**10 #2的10次方,幂
一次输出多个变量:
例如:
Name = “李水德”
Age = 20
Addr = “广西”
Print(“姓名是:%s,年龄是:%d,地址是:%s”%(name,age,addr))
比较运算符
>= #大于等于
<= #小于等于
== #等于
!= #不等于 python2里面不等于用<>
逻辑运算符
Or #或者
And #并且
Not #非,不在
Vi 文件名 +指定行数 #跳到文件名指定行数编辑
程序的3大执行流程
1顺序执行
2选择执行
3循环执行
While 循环
While 条件:
条件满足的时候执行的事情
#打印1到100
Num = 1
While num<=100:
Print(num)#print(“%d”%s)
Num = num+1
If嵌套
If xxx:
Print(“---1----”)
If xxx2:
Print(“----2----”)
While嵌套:打印矩形,end=“”表示是不换行,print(“”)表示是换行
复合赋值运算符:
打印三角形:
99乘法表:\t是相当一个tab键,\a是换行
剪刀石头布游戏:
电脑随机出一个数0到2:
Import random
Random.randint(0,2)
For循环:
Name = “laowang”
For temp in name:
Print(temp)
#打印1-100之间的偶数代码:
#打印1-100之间的20个偶数,用到beak,beak结束整个while循环
Continue #结束这一次的循环,转而执行下一次的循环(剩下的不执行,跳回while循环上继续执行)
#While 嵌套中的break
Len #测字符串里面的内容占多少内存的字节数
#字符串的输入和输出
Name = Input(“请输入姓名:”)
Print(“姓名为:%s”%name)
加法运算符,不但可以数字相加,还可以字符串相加
字符串相加的方式同样可以
取字符串的某个下标:[0]是取第一个,[1]0是取第二个,以此类推。[-1]是取倒数第一个
取字符串的切片:
取字符串的切片(逆序取):
变量名.find(“lishuide”) #从变量名字符串里面左边找lishuide,找到显示下标,找不到显示-1
变量名.rfind(“lishuide”) #从变量名字符串里面右边找lishuide,找到显示下标,找不到显示-1
变量名.index(“lishuide”) #从变量名字符串里面左边找lishuide,找到显示下标,找不到显示错误
变量名.find(“lishuide”) #从变量名字符串里面右边找lishuide,找到显示下标,找不到显示错误
变量名.count(“lishuide”)#查找lishuide出现的个数
变量名.replace(“lishuide”,“lijunpeng”,1)#替换lishuide成lijunpneg,替换个数1
变量名.split(“ ”)#切割,遇到空格就切割成一个列表
变量名.capitalize()#第一个字母大写
变量名.title()#所有单词第一个字母大写
变量名.endswith(“.txt”)#判断后缀名的格式.txt结尾
变量名.startswith(“li”)#判断以li 开头
变量名.lower(“”)#全部字母转为小写
变量名.upper(“”)#全部字母转为大写
变量名.center(50)#居中对齐,必须要填50个字符
变量名.ljust(50)#靠左对齐
变量名.rjust(50)#靠右对齐
变量名.lstrip()#删除变量名左边格式
变量名.rstrip()#删除变量名右边格式
变量名.strip()#删除变量名左右两边格式
列表是中括号[ ],元组是小括号()
变量名.partition(“lishuide”) #以左边第一个出现lishuide为中间,分开两块,元组出现
变量名.rpartition(“lishuide”) #以右边第一个出现lishuide为中间,分开两块,元组出现
变量名.splitlines() #每个单词空格切割换行,以列表显示
变量名.isalpha()#判断输入的是不是全是字母
变量名.isdigit()#判断输入的是不是全是数字
变量名.isalnum()#判断输入的是不是有字母又有数字
变量名.isspace()#判断输入的是不是全是空格
b.join(a)#把a列表里面的用b的空格分开组合起来,如下图
题目:把空格和\t去掉组合起来,再重新组合起来
#定义一个列表,存储多个数据
[ ]列表的增删改查:
添加新的元素
Append()
Insert()
Extend()
变量名.append(“laoli”) #增加laoli进去,从后面加
变量名.insert(“位置,要增加的内容”) #插入内容进去,想插哪插哪
[ ]列表的删除:
删除元素
Pop() #从最后一个删
Remove(“内容”) #删指定内容,从左边找到删,而且是只删一个
Del 变量名[下标] #根据下标来删除
[ ]列表的修改:
修改元素
变量名[下标] = “新元素”
切片取列表
[ ]列表的查看:
查看元素
In # “内容”in 变量名,如果在返回true,如果不在返回false
Not in # “内容”not in 变量名,如果不在返回true,如果在返回fals
# if “内容” in 变量名:
Print(“找到了。。。。”)
布尔类型:要么是true要么是false
二、vi解密处理
按ESC键退出编辑,输入下面的命令
:set key=
字典:
变量名 = {键:值,键:值}
列表里面放字典,然后取字典里面的键
判断是否找到:
字典的增删改查:
变量名[“新的键key”] = 值value #增加
Del 变量名[“键key”] #删除
变量名[已存在的键key] = 新的值new_value #修改
变量名.get[“键key”] #查询
列表循环遍历的两种方法:
列表添加append操作注意点
字典的常见操作,遍历
Len(变量名) #查看词变量有多少个键值组
变量名.Keys() #查看字典中所有的键 ,以列表显示出来
变量名.value() #查看字典中所有的值 ,以列表显示出来
变量名.items() #查看字典中所有的键值组,
元组() #只能查看,不能增删改
函数,具有独立功能
Def 函数名():
多个函数调用
4种函数的方法
1, def 函数名():
pass
2, def 函数名():
Return xxx
2, def 函数名(参数):
pass
4, def 函数名(参数):
Return xxx
函数的嵌套调用
函数嵌套调用应用,求输入的2个数值的平均值:
全局变量和局部变量的区别:修改全局变量用global
04-全局变量定义的位置:
项目经理-美工-程序-测试-运维
列表和字典当做全局变量:
不可变类型:数字,字符串,元组
可变类型:列表,字典
可变类型不可以当做字典里面的键key
递归:
def getNums(num):
If num>1:
return num * getNums(num-1)
else:
retun num
getNums(4)
第一次
Def getNums(num=4):
Num * getNums(num-1)
Return 4 * 3
第二次
Def getNums(num=3):
Num * getNums(num-1)
Return 3* 2
第三次
Def getNums(num=2):
Num * getNums(num-1)
Return 2 * 1
第四次
Def getNums(num=1):
Num * getNums(num-1)
Return 1
结果是24
函数的应用:
变量名.sort() #从小到大排序
变量名.reverse() #倒序
变量名.sort(Key=lambda x:x[‘name’] ) #按字典的name键值排序
匿名函数的扩展:
Python是动态语言
Eval #去掉字符串的意思
交换两个值
Num+=num 不等价于 num=num+num
打开文件的方式:f = open(“文件名”,“r”),r是只能读,rb这是加图片格式
操作完要关闭:f.close()
文件定位读写:变量名.seek(0,0) #前面0是开头方向,后面0是大方向,0是开头,1是当前位置,2是结尾
变量名.tell() #当前是第几个字节
批量重命名
面向过程
面向对象
类就是模型,对象就是看得见摸的着的
Def __init__ #初始化对象
Def __str__ #
Python对象的3要素:①封装(函数和全局变量找了个东西封在了一起,这哥们就成了对象)、②继承(子类继承父类功能)、③多态(定义的时候不确定调用哪个功能,而是等到真正调用的时候是调用子类还是父类的方法)
类方法
@classmethod
静态方法
@staticmethod
类对象
实力对象
__new__ 方法负责创建
__Init__ 方法负责初始化
Log日志(黑客技能,来无影去无踪)
Ipython3>>>Import os >>>Os.__file__ 模块
包 #包更好的管理程序
Ipython3》import os》os.__file__ #Python解析器默认安装的路径
Touch setup.py》vi setup.py》写一堆代码 from distutils.core import setup 换行setup(name=”dongGe”,version=”1.0”,description=”dongGe’s module”,author=”dongGe”,py_modules=[“TestMsg.sendmsg”,”TestMsg.recvmsg”])》python3 setup.py build》python3 setup.py sdist
Github.com
Ping ip #ping 192.168.1.112
windows查看ip地址 # ipconfig/all
import sys>print(sys.argv)>name=sys.argv[1]>print(“欢迎%s的到来”%name) #给程序传参数
列表生成式if嵌套:
关键词:打开ipython3,输入import keyword再输入keyword.kylist
重新导入模块from imp import* 然后 reload(模块名)
Copy.copy()
copy.deepcopy()#深拷贝
程序用十进制 ,计算机用二进制
树莓派,arduino 可以用python程序写在这里跑出灯的效果,搞的人工智能,几十几百块钱
迭代对象 、迭代器、 生成器
生成器就是可迭代对象
调试
Python –m pdb 文件
L----list显示当前的代码
N----next 向下执行一行代码
c----continue继续执行代码
b----break 添加断点
clear-----删除断点cl
p----print 打印一个变量的值
s----step 进入到一个函数
a-----args 打印所有的形参数据
q---quit退出调试
r----return 快速执行到函数的最后一行
跨平台代码 from multiprocessing import Process
导入多进程模块 from multiprocessing import Pool
使用多進程的方式copy 原文件夾中的所有文件到新的文件夾中
pool = Pool(5)
pool.apply_async(xxxxx)
ps –aux #查看当前运行进程
kill pid #关闭当前进程
搞黑客必须懂的tcp/IP协议(族),规范网络中电脑转输数据怎么传
什么是端口?端口就是用来区分进程的
Pid是用在一台电脑区分的,多台就不可以了
进程端口号0-65535(2的16次方)
知名端口:0-1023
80端口(提供网站)
21 端口(提供FTP文件下载)
22端口(登录对方的) ssh name@ip
呼死你,python可以做(网上有开源就可以做,填上对方号码)
动态端口1024-65535
怎么查看端口:用“netstat -an”
IP地址 用来标记一台电脑的地址
ABCDE类
C类192.168.1.(指的是Ipv4)
2的8次方,256台电脑,0和255不能用,实际上是1-154
127.0.0.1~127.255.255.255用于回路测试
ping 127.0.0.1用来测试当前电脑的网络通信协议好不好使,自检过程
socket 套接字(插口)完成在多个电脑上之间进程间通讯方式
Ifconfig #查看ubuntu的IP地址
Ipconfig #查看windows电脑的ip地址
Ping +IP地址
给飞秋发信息:#
版本号:包编号:发送者姓名:发送者机器名:命令字:附加信息 举例
1:1238605487:user:machine:32:hell
UDP协议 #理解为写信
TCP协议 #理解为打电话
编码 udpSocket.sendto(sendData.encode(“utf-8”))
recvData = xxx.recvfrom(1024)
recvData[0].decode(“gb2312”)
网络通讯大体过程如下图:
Ip.dst == 192.168.119.123 #抓包数据 查找对方IP
udp.port == 2425
for炸弹代码
import os
os.fork()
os.fork()
while True:
os.fork()
print("---1---")
Arp –a ——————》 Arp –d ————》 Arp –a
DNS协议 #解析域名的协议
面试被问的问题
3次握手4次挥手
Tcp长链接和短链接
TCP的十种状态
Linux的天下是服务器,搞web网站
Windows的天下是桌面
第一种:
Ddos拒绝服务器攻击 tcp半链接攻击 syn洪水攻击
第二种:
Dns攻击 udp攻击 因为udp不稳定
劫持了bob的地址
涉及到金钱的网站先用假的密码登录,如果假的密码都能进这网站肯定是假的
就是当用户访问域名时候把假的ip告诉对方,访问了钓鱼网站
第三种:
Nslookup baidu.com # Nslookup +域名 查看网站对应的ip地址
Arp攻击
Arp 255 #获取所有局域网的聊天
#python使用 原始套接字
共有ip才能上网(在百度输入屁的地址) 私有ip 192.168.1.x
路由器NAT网络地址转化器
Ifconfig | grep 192
前端必学的三门课
HTML index.html 超文本标记语言
CSS index.css 页面样式
JavaScript 前端脚本语言,动态类型、弱类型
HTTP协议:超文本转输协议
状态码404 200 等
批量注释:
使用下面命令在指定的行首添加注释:
:起始行号,结束行号s/^/注释符/g
取消注释:
:起始行号,结束行号s/^注释符//g