Linux for Python教程01
阿新 • • 發佈:2019-01-08
目錄
1. Linux和作業系統
1.1. 什麼是作業系統
1.2. 現有作業系統
Mac, win7, win10, winXP, Android, IOS
1.3. Linux使用者目錄
Windows: C:/windows/haoch/..
Linux: /home/user
(絕對) + ~
(相對)
- 絕對路徑:
/home
- 相對路徑:
../..
當前路徑 ·
上一個路徑 ..
上上一層路徑 ../..
1.4. Linux檔案許可權
三種訪問方式限制訪問許可權:
- 讀許可權(r)-> 讀取檔案內容的許可權,瀏覽目錄的許可權
- 寫許可權(w)->增加,修改檔案內容的許可權,刪除,移動目錄內檔案的許可權
- 可執行許可權(x)->執行檔案的許可權,進入目錄的許可權
2. Linux命令
命令的格式
command [-options] [parameter1] ...
程式碼 | 說明 |
---|---|
ls |
顯示當前路徑下的所有檔案和資料夾 |
cd path |
跳轉路徑 |
cd .. |
跳到上一個路徑 |
cd ~ |
當前使用者的家目錄(/home/haoch) |
cd - |
回到歷史記錄的上一個路徑 |
cd ./python/ |
跳到當前目錄下的python資料夾下 |
cd python/ |
跳到當前目錄下的python資料夾下 |
pwd |
檢視當前所在路徑 |
ls -l |
當前路徑下的檔案詳細內容 |
clear |
清空 |
ls --help |
查詢命令的詳細資訊 |
man |
幫助手冊 |
按Tab |
自動補全 |
history |
檢視歷史命令 |
touch |
建立檔案 |
touc ./chenhao/123.py |
在當前目錄下的資料夾下建立檔案 |
上下鍵 |
呼叫歷史內容 |
ls > test.txt |
重定向輸出 |
ls >> test.txt |
重定向輸出(新增,非覆蓋) |
gedit test.txt |
開啟txt檔案 |
cat test.txt |
將文字內容顯示在command上 |
cat 1.py 2.py > 3.py |
同時顯示多個檔案 |
more test.txt |
分屏顯示(內容多的時候) |
| |
管道 |
ls -lha | more |
命令先後執行 |
mkdir directory |
建立一個新的directory |
rmdir directory |
刪除一個資料夾(必須空) |
rm directory -r |
刪除一個資料夾(任何) |
rm 123.py |
刪除檔案 |
rm 123.py -f |
強制刪除 |
ln 123.py 123link.py |
建立硬連結 |
ln -s 123.py 123link.py |
建立軟連線 |
grep '22' 1.py |
從檔案中搜索內容 |
grep -n '22' 1.py |
從檔案中搜索內容(開頭顯示行數) |
grep -n '^22' 1.py |
從檔案中搜索內容(開頭顯示行數),以22開頭 |
grep -n '22$' 1.py |
從檔案中搜索內容(開頭顯示行數),以22結尾 |
grep -n 'e.e' 1.py |
匹配eee,eae,eve.... |
find /home/ -name 123.py |
在電腦中查詢檔案 |
cp 123.py test/ |
將檔案拷貝到另外一個資料夾 |
cp direc1 direct2/ -r |
將一個資料夾拷貝到另外一個資料夾 |
tree |
樹狀形式顯示目錄結構 |
mv 123.py test/ |
將檔案剪下移動到另外一個資料夾 |
mv direct1 direct2 |
將一個資料夾剪下移動到另外一個資料夾 |
mv 123.py 666.py |
檔案重新命名 |
tar -cvf test.tar 1.txt 2.txt 3.txt |
檔案打包 |
tar -xvf test.tar |
檔案解包 |
gzip bao.tar |
將包檔案壓縮 |
gzip -d bao.tar |
解壓縮成包 |
tar -zcvf test.tar.gz 1.txt 2.txt |
檔案打包 + 壓縮(.gz) |
tar -zxvf test.tar.gz |
檔案解壓縮 + 解包(.gz) |
tar -zxvf test.tar.gz -C path |
檔案解壓縮 + 解包 + 指定路徑 |
tar -jcvf test.tar.gz 1.txt 2.txt |
檔案打包 + 壓縮(.bz2) |
tar -jxvf test.tar.gz |
檔案解壓縮 + 解包(.bz2) |
which ls |
檢視命令的路徑位置 |
sudo -s |
轉成超級管理員 |
kill 程序ID |
結束程序 |
kill -9 程序ID |
強制結束程序 |
reboot |
重啟 |
shutdown |
關機 |
shutdown -h 20:20 |
20:20關機 |
cal |
日曆 |
date |
時間 |
top |
動態程序 |
技巧:
按Tab鍵可以提示命令->自動補全
drwxr-xr-x 2 haoch haoch 4096 Jan 8 20:22 chenhao
-rw-r--r-- 1 haoch haoch 8980 Jan 8 20:02 examples.desktop
2.1 檔案管理相關
(1).ls命令
引數 | 含義 |
---|---|
-a | 顯示指定目錄下的所有子目錄與檔案,包含隱藏檔案 |
-l | 列表顯示檔案的具體資訊 |
-lh | 人性化顯示檔案大小 |
-alh | 全部顯示 |
(2).萬用字元
萬用字元 | 含義 |
---|---|
* |
檔案代表檔名中所有字元 |
ls te* | 查詢以te開頭的檔案 |
ls *html | 查詢以html結尾的檔案 |
? |
代表檔名中的任意一個字元 |
ls ?.c | 只找第一個字元任意,字尾為.C的檔案 |
ls a.? | 只找首字母為a,字尾名任意的檔案 |
[] |
表示匹配字元中的任意一個 |
[abc] | 匹配a,b,c中任意一個 |
[a-f] | 匹配a到f範圍內的任意一個字元 |
ls [a-f]* | 查詢a到f任意一個字元開頭的檔案 |
\ | 轉移符 |
ls *a | 查詢檔名為*a的檔案 |
(3).輸出重定向命令
Linux允許將命令執行結果重新定向到一個檔案,本應顯示在終端的內容儲存到指定的檔案中
ls > test.txt(test.txt如果不存在,則建立,存在則覆蓋內容)
ls >> test.txt (從檔案末尾追加)
(4).分屏顯示:more
如果cat一次性顯示不開,用more, 用空格鍵翻頁
(5).管道: |
將兩個命令依次執行
ls -lha | more 產生的內容放入管道,後面從管道內提取內容,再執行
(6).資料夾和建立檔案
- 建立資料夾: mkdir
- 刪除空資料夾: rmdir
- 刪除檔案: rm
引數 | 含義 |
---|---|
-i | 互動刪除 |
-f | 強制刪除 |
-r | 遞迴刪除 |
(7).建立連結: ln
相當於window中的快捷方式
- 硬連結:只能連結普通檔案,不能連結目錄
- 軟連線: 不佔用磁碟空間,原始檔刪除則連結失效
ln 原始檔 連結檔案 # 硬連結
ln -s 原始檔 連結檔案 # 軟連結
軟連結: 刪除後就都打不開
ln -s 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py -> 123.py
硬連結:(原始檔編輯,連結檔案跟著變: 相當於實時複製的效果)
ln 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py
(8).檢視檔案內容: cat
(9).檔案中的內容搜尋: grep
grep [-選項] '查詢內容' 檔名
grep可以使用正則表示式
引數 | 含義 |
---|---|
^a |
a開頭 |
a$ |
a結尾 |
[Ss]igna[Ll] | 從括號中選一個匹配 |
. |
匹配一非換行符 |
(10). 查詢檔案: find
引數 | 含義 |
---|---|
find ./-name test.sh |
查詢當前目錄下所有名為test.sh的檔案 |
find ./-name '*.sh' |
查詢當前目錄下所有後綴名為.sh的檔案 |
find ./-name '[A-Z]*' |
查詢當前目錄下所有大寫字母開頭的檔案 |
find /tmp -size 2M |
查詢在/tmp目錄下等於2M的檔案 |
find /tmp -size +2M |
查詢在/tmp目錄下大於2M的檔案 |
find /tmp -size -2M |
查詢在/tmp目錄下小於2M的檔案 |
find / -size +4k -size -5M |
查詢當前目錄下大於4k,小於5M的檔案 |
find / -perm 0777 |
查詢當前目錄下許可權為777的檔案 |
(11). 拷貝: cp
cp 原始檔 目標資料夾 [-選項]
引數 | 含義 |
---|---|
-a |
複製目錄時使用,保留連結,檔案原有屬性 |
-f |
已經存在的目標檔案不提示 |
-r |
若給出的原始檔是目錄檔案,則cp將遞迴輔助 |
-v |
顯示拷貝進度 |
(12). 移動剪下: MV
- 移動
- 重新命名
(13). 歸檔管理: tar(打包)
tar [引數] 打包檔名 檔案
引數 | 含義 |
---|---|
-c |
生成檔案檔案,建立打包檔案 |
-v |
列出歸檔解檔的詳細過程 |
-f |
指定歸檔檔名稱,一定是.tar檔案,必須放在選項最後 |
-t |
列出歸檔中包含的檔案 |
-x |
解開檔案檔案 |
(14). 系統管理
- 當前日曆: cal
- 顯示日期時間: date
- 顯示程序資訊: ps
- 顯示動態程序: top
引數 | 含義 |
---|---|
-a |
顯示終端上的所有程序 |
-u |
顯示程序的詳細資訊 |
-x |
顯示沒有控制終端的程序 |
-w |
顯示加寬,以顯示更多資訊 |
-r |
只顯示正在執行的程序 |
- 關機重啟: reboot, shutdown, init
- 檢測磁碟空間:df
- 檢視當前目錄佔用的磁碟空間: du -alh
- 檢視網絡卡資訊及IP地址: ifconfig
- ping IP 檢視是否能夠連線