Man can conquer nature.shell
"人定勝天"less
1、基本操做
一、重要快捷鍵
函數
Tab | 補全命令、目錄、參數、文件名等 |
Ctrl+c | 強制終止當前的程序 |
Ctrl+d | 鍵盤輸入結束或退出終端 |
Ctrl+z | 將當前程序放到後臺運行,恢復爲前臺使用fg |
Ctrl+a | 將光標移至輸入行首,至關於Home鍵 |
Ctrl+e | 將光標移至輸入行末,至關於End鍵 |
Ctrl+k | 刪除從光標所在位置到行末 |
Alt+Backspace | 向前刪除一個單詞 |
Shift+PgUp | 將終端顯示向上滾動 |
Shift+PgDn | 將終端顯示向下滾動 |
方向鍵"上"鍵 | 恢復以前輸入過的命令工具 |
二、通配符學習
* | 匹配0各或多個字符 |
? | 匹配任意一個字符 |
[list] |
匹配list中的任意單一字符 |
[!list] | 匹配除list中字符外的任意單一字符 |
[c1-c2] | 匹配c1-c2中任意單一字符 如:[0-9][a-z] |
[str1,str2,...] | 匹配str1或str2(或更多)其一字符串 |
{c1..c2} | 匹配c1-c2中所有字符 如{1..10},注意是每一個字符匹配一次 |
三、manspa
1 man <name> #查看name指定內容的詳細說明,能夠是命令,C庫函數等,具體見man man
2、用戶及文件權限管理
一、用戶管理code
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目錄
二、文件權限blog
1 ls [選項]... [文件]... #列出文件的信息 2 chown [選項]... [全部者] 文件名 #修改文件的全部者 3 chgrp [選項]... 用戶組 文件... #修改文件所屬的用戶組 4 chmod [選項]... 模式... 文件... #修改文件的讀寫執行權限
3、文件和目錄操做
一、目錄操做排序
1 tree <name> #以樹形結構顯示目錄的結構,注意tree工具須要自行安裝 2 cd <name> #切換到指定目錄 3 pwd #獲取當前目錄的絕對路徑 4 mkdir <name> #建立新目錄
二、文件操做ip
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> #相似於more 10 head <name> #查看文件開頭的內容 11 tail <name> #相似於head可是是從末尾開始 12 file <name> #查看文件類型
4、環境變量與文件查找
一、變量
1 declare var #聲明變量 2 var=XXX #給變量賦值 3 echo $var #打印變量內容 4 unset var #刪除一個環境變量
二、環境變量
1 set #顯示當前shell全部環境變量 2 env #顯示與當前用戶相關的環境變量 3 export #顯示從shell中導出成環境變量的變量
三、命令的查找路徑與順序
1 echo $PATH #輸出的內容爲系統查找命令的各個路徑,按照排列的順序查找並調用找到的第一個命令
四、添加自定義路徑到PATH
1 PATH=$PATH:path-name #臨時修改當前shell的PATH變量
五、文件查找
1 whereis <name> #搜索二進制文件、man幫助文件或者源代碼文件 2 locate <name> #查找指定目錄下不一樣類型的文件 3 which <name> #用來肯定是否安裝了某個指定的軟件 4 find [path] [opt] [act] #在指定目錄下搜索知足指定條件的文件
5、文件打包與解壓縮
經常使用的文件壓縮打包/解壓縮工具:
1 zip / unzip 2 rar 3 tar
具體參見man手冊
6、文件系統操做與磁盤管理
一、查看磁盤和目錄容量
1 df #查看磁盤容量,常加上 -h 參數以易讀的方式打印
二、磁盤操做
1 dd #用於轉換和複製文件 2 mount [opt] [sour] [dir] #掛在磁盤到指定目錄 3 umount [dir] #卸載已掛載的磁盤 4 sudo fdisk [opt] #查看硬盤分區表信息
7、命令執行順序控制與管道
一、命令執行順序
1 cmd1;cmd2;cmd3;... #按順序執行cmd1,cmd2,... 2 cmd1 && cmd2 #只有cmd1執行成功才執行cmd2 3 cmd1 || cmd2 #只有cmd1執行失敗才執行cmd2 4 cmd1 | cmd2 #將cmd1的輸出做爲cmd2的輸入
二、經常使用到管道的命令
1 cut #打印每一行的某一字段 2 grep #在文本中或標準輸入中查找匹配字符串 3 wc #統計並輸出一個文件中行、單詞和字節的數目 4 sort #將輸入按照必定方式排序後輸出 5 uniq #用於過濾或者輸出重複行
8、簡單文本處理
一、文本處理命令
1 tr #刪除或替換一段文本信息中的某些文字 2 col #將Tab換成對等數量的空格,或者反轉這個操做 3 join #將兩個文件中包含相同內容的那一行合併在一塊兒 4 paste #將多個文件合併在一塊兒,並以tab隔開
9、數據流重定向
一、簡單重定向
1 cmd > name #將cmd1執行的結果重定向到指定文件或指定設備中,替換原來的內容 2 cmd >> name #相似於 > ,可是這裏是追加到文件末尾,而不是替換 3 cmd < name #方向與 > 相反 4 cmd << name #方向與 >> 相反
二、重定向到多個文件
1 cmd | tee name1 name2 ... #將cmd1的執行結果重定向到標準輸出和指定文件中
三、徹底屏蔽命令輸出
1 cmd > /dev/null #將命令的執行結果導入"黑洞"文件中
10、軟件安裝
一、在線安裝
1 sudo apt-get [工具] #用於安裝、更新、卸載等操做的公共程序集
工具 | 說明 |
install | 後面加上軟件包名,用於安裝一個軟件包 |
update | 更新本地軟件 |
upgrade | 升級本地可更新的所有軟件包,但存在依賴關係時不會升級 |
remove | 移除已安裝的軟件包,包括與被移除軟件有依賴關係的軟件包,但不包含配置文件 |
purge | 移除軟件包和配置文件 |
clean | 移除下載到本地的已經安裝好的軟件包 |
注:本文只是做爲筆者學習過程當中的一份學習筆記,更多更詳細的內容請參見相關書籍或相關文檔