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

 

posted @ 2019-09-07 22:19  李俊鹏Python  阅读(213)  评论(0编辑  收藏  举报