Lscss
Ls –ahtml
Ls –h前端
Ls –alhpython
Cdgit
Tree #樹形結構查看當前目錄web
Man help面試
Clearubuntu
Rmwindows
Touchapi
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
2、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