標籤:
一、基本操作
1、重要快速鍵
Tab |
補全命令、目錄、參數、檔案名稱等 |
Ctrl+c |
強制終止當前的程式 |
Ctrl+d |
鍵盤輸入結束或退出終端 |
Ctrl+z |
將當前程式放到後台運行,恢複為前台使用fg |
Ctrl+a |
將游標移至輸入行首,相當於Home鍵 |
Ctrl+e |
將游標移至輸入行末,相當於End鍵 |
Ctrl+k |
刪除從游標所在位置到行末 |
Alt+Backspace |
向前刪除一個單詞 |
Shift+PgUp |
將終端顯示向上滾動 |
Shift+PgDn |
將終端顯示向下滾動 |
方向鍵"上"鍵 |
恢複之前輸入過的命令 |
2、萬用字元
* |
匹配0各或多個字元 |
? |
匹配任意一個字元 |
[list]
|
匹配list中的任意單一字元 |
[!list] |
匹配除list中字元外的任意單一字元 |
[c1-c2] |
匹配c1-c2中任意單一字元 如:[0-9][a-z] |
[str1,str2,...] |
匹配str1或str2(或更多)其一字串 |
{c1..c2} |
匹配c1-c2中全部字元 如{1..10},注意是每個字元匹配一次 |
3、man
1 man <name> #查看name指定內容的詳細說明,可以是命令,C庫函數等,具體見man man
二、使用者及檔案許可權管理
1、使用者管理
1 who [選項]... [ 檔案 | 參數1 參數2 ] #顯示當前已登入的使用者資訊2 sudo adduser <name> #添加新使用者3 sudo passwd <name> #為使用者佈建密碼,不加<name>則設定目前使用者的密碼4 su <name> #切換登入使用者5 groups <name> #查看使用者屬於哪些使用者組6 sudo usermod -G <g-name> <u-name> #為使用者添加使用者組7 sudo deluser <u-name> --remove-home #刪除使用者並刪除該使用者的Home目錄
2、檔案許可權
1 ls [選項]... [檔案]... #列出檔案的資訊2 chown [選項]... [所有者] 檔案名稱 #修改檔案的所有者3 chgrp [選項]... 使用者組 檔案... #修改檔案所屬的使用者組4 chmod [選項]... 模式... 檔案... #修改檔案的讀寫執行許可權
三、檔案和目錄操作
1、目錄操作
1 tree <name> #以樹形結構顯示目錄的結構,注意tree工具需要自行安裝2 cd <name> #切換到指定目錄3 pwd #擷取目前的目錄的絕對路徑4 mkdir <name> #建立新目錄
2、檔案操作
1 touch <name> #建立空白檔案 2 cp <name> <p-name> #複製檔案到指定目錄 3 rm [選項]... <name> #刪除檔案或空目錄,加上-r參數可以刪除非空目錄 4 mv <name> <p-name> #移動檔案到指定目錄,或者修改檔案名稱 5 cat [選項] <name> #正序列印檔案內容 6 tac [選項] <name> #倒序列印檔案內容 7 nl [選項] <name> #添加行號並列印檔案內容 8 more <name> #分頁查看檔案內容 9 less <name> #類似於more10 head <name> #查看檔案開頭的內容11 tail <name> #類似於head但是是從末尾開始12 file <name> #查看檔案類型
四、環境變數與檔案尋找
1、變數
1 declare var #聲明變數2 var=XXX #給變數賦值3 echo $var #列印變數內容4 unset var #刪除一個環境變數
2、環境變數
1 set #顯示當前shell所有環境變數2 env #顯示與目前使用者相關的環境變數3 export #顯示從shell中匯出成環境變數的變數
3、命令的尋找路徑與順序
1 echo $PATH #輸出的內容為系統尋找命令的各個路徑,按照排列的順序尋找並調用找到的第一個命令
4、添加自訂路徑到PATH
1 PATH=$PATH:path-name #臨時修改當前shell的PATH變數
5、檔案尋找
1 whereis <name> #搜尋二進位檔案、man協助檔案或者原始碼檔案2 locate <name> #尋找指定目錄下不同類型的檔案3 which <name> #用來確定是否安裝了某個指定的軟體4 find [path] [opt] [act] #在指定目錄下搜尋滿足指定條件的檔案
五、檔案打包與解壓縮
常用的檔案壓縮打包/解壓縮工具:
1 zip / unzip2 rar3 tar
具體參見man手冊
六、檔案系統操作與磁碟管理
1、查看磁碟和目錄容量
1 df #查看磁碟容量,常加上 -h 參數以易讀的方式列印
2、磁碟操作
1 dd #用於轉換和複製檔案2 mount [opt] [sour] [dir] #掛在磁碟到指定目錄3 umount [dir] #卸載已掛載的磁碟4 sudo fdisk [opt] #查看硬碟分區表資訊
七、命令執行順序控制與管道
1、命令執行順序
1 cmd1;cmd2;cmd3;... #按順序執行cmd1,cmd2,...2 cmd1 && cmd2 #只有cmd1執行成功才執行cmd23 cmd1 || cmd2 #無論cmd1成功與否,都執行cmd24 cmd1 | cmd2 #將cmd1的輸出作為cmd2的輸入
2、常用到管道的命令
1 cut #列印每一行的某一欄位2 grep #在文本中或標準輸入中尋找匹配字串3 wc #統計並輸出一個檔案中行、單詞和位元組的數目4 sort #將輸入按照一定方式排序後輸出5 uniq #用於過濾或者輸出重複行
八、簡單文本處理
1、文本處理命令
1 tr #刪除或替換一段文本資訊中的某些文字2 col #將Tab換成對等數量的空格,或者反轉這個操作3 join #將兩個檔案中包含相同內容的那一行合并在一起4 paste #將多個檔案合并在一起,並以tab隔開
九、資料流重新導向
1、簡單重新導向
1 cmd > name #將cmd1執行的結果重新導向到指定檔案或指定裝置中,替換原來的內容2 cmd >> name #類似於 > ,但是這裡是追加到檔案末尾,而不是替換3 cmd < name #方向與 > 相反4 cmd << name #方向與 >> 相反
2、重新導向到多個檔案
1 cmd | tee name1 name2 ... #將cmd1的執行結果重新導向到標準輸出和指定檔案中
3、完全屏蔽命令輸出
1 cmd > /dev/null #將命令的執行結果匯入"黑洞"檔案中
十、軟體安裝
1、線上安裝
1 apt-get #用於安裝、更新、卸載等操作的公用程式集
工具 |
說明 |
install |
後面加上軟體包名,用於安裝一個軟體包 |
update |
更新本地軟體 |
upgrade |
升級本地可更新的全部軟體包,但存在依賴關係時不會升級 |
remove |
移除已安裝的軟體包,包括與被移除軟體有依賴關係的軟體包,但不包含設定檔 |
purge |
移除軟體包和設定檔 |
clean |
移除下載到本地的已經安裝好的軟體包 |
註:本文只是作為筆者學習過程中的一份學習筆記,更多更詳細的內容請參見相關書籍或相關文檔
Linux Shell 入門命令和操作(筆記)