1. 程式人生 > >Linux for Python教程01

Linux for Python教程01

目錄


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 檢視是否能夠連線