linux命令大全

原文連接:https://blog.csdn.net/boshuzhang/article/details/51122457html

 

原文連接:http://www.javashuo.com/article/p-csajffol-hu.htmljava

 

一、cd命令
這是一個很是基本,也是你們常常須要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,能夠是絕對路徑,也能夠是相對路徑。如:
 
[plain]  view plain  copy
  1. cd /root/Docements # 切換到目錄/root/Docements  
  2. cd ./path          # 切換到當前目錄下的path目錄中,「.」表示當前目錄    
  3. cd ../path         # 切換到上層目錄中的path目錄中,「..」表示上一層目錄  
二、ls命令
這是一個很是有用的查看文件與目錄的命令,list之意,它的參數很是多,下面就列出一些我經常使用的參數吧,以下:
 
[plain]  view plain  copy
  1. -l :列出長數據串,包含文件的屬性與權限數據等  
  2. -a :列出所有的文件,連同隱藏文件(開頭爲.的文件)一塊兒列出來(經常使用)  
  3. -d :僅列出目錄自己,而不是列出目錄的文件數據  
  4. -h :將文件容量以較易讀的方式(GB,kB等)列出來  
  5. -R :連同子目錄的內容一塊兒列出(遞歸列出),等於該目錄下的全部文件都會顯示出來  
注:這些參數也能夠組合使用,下面舉兩個例子:
 
[plain]  view plain  copy
  1. ls -l #以長數據串的形式列出當前目錄下的數據文件和目錄  
  2. ls -lR #以長數據串的形式列出當前目錄下的全部文件  
三、grep命令
該命令經常使用於分析一行的信息,若當中有咱們所須要的信息,就將該行顯示出來,該命令一般與管道命令一塊兒使用,用於對一些命令的輸出進行篩選加工等等,它的簡單語法爲
[plain]  view plain  copy
  1. grep [-acinv] [--color=auto] '查找字符串' filename  
它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -a :將binary文件以text文件的方式查找數據  
  2. -c :計算找到‘查找字符串’的次數  
  3. -i :忽略大小寫的區別,即把大小寫視爲相同  
  4. -v :反向選擇,即顯示出沒有‘查找字符串’內容的那一行  
  5. # 例如:  
  6. # 取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色  
  7. grep --color=auto 'MANPATH' /etc/man.config  
  8. # 把ls -l的輸出中包含字母file(不區分大小寫)的內容輸出  
  9. ls -l | grep -i file  
四、find命令
find是一個基於查找的功能很是強大的命令,相對而言,它的使用也相對較爲複雜,參數也比較多,因此在這裏將給把它們分類列出,它的基本語法以下:
 
[plain]  view plain  copy
  1. find [PATH] [option] [action]  
  2.   
  3. # 與時間有關的參數:  
  4. -mtime n : n爲數字,意思爲在n天以前的「一天內」被更改過的文件;  
  5. -mtime +n : 列出在n天以前(不含n天自己)被更改過的文件名;  
  6. -mtime -n : 列出在n天以內(含n天自己)被更改過的文件名;  
  7. -newer file : 列出比file還要新的文件名  
  8. # 例如:  
  9. find /root -mtime 0 # 在當前目錄下查找今天以內有改動的文件  
  10.   
  11. # 與用戶或用戶組名有關的參數:  
  12. -user name : 列出文件全部者爲name的文件  
  13. -group name : 列出文件所屬用戶組爲name的文件  
  14. -uid n : 列出文件全部者爲用戶ID爲n的文件  
  15. -gid n : 列出文件所屬用戶組爲用戶組ID爲n的文件  
  16. # 例如:  
  17. find /home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出全部者爲ljianhui的文件  
  18.   
  19. # 與文件權限及名稱有關的參數:  
  20. -name filename :找出文件名爲filename的文件  
  21. -size [+-]SIZE :找出比SIZE還要大(+)或小(-)的文件  
  22. -tpye TYPE :查找文件的類型爲TYPE的文件,TYPE的值主要有:通常文件(f)、設備文件(b、c)、  
  23.              目錄(d)、鏈接文件(l)、socket(s)、FIFO管道文件(p);  
  24. -perm mode :查找文件權限恰好等於mode的文件,mode用數字表示,如0755;  
  25. -perm -mode :查找文件權限必需要所有包括mode權限的文件,mode用數字表示  
  26. -perm +mode :查找文件權限包含任一mode的權限的文件,mode用數字表示  
  27. # 例如:  
  28. find / -name passwd # 查找文件名爲passwd的文件  
  29. find . -perm 0755 # 查找當前目錄中文件權限的0755的文件  
  30. find . -size +12k # 查找當前目錄中大於12KB的文件,注意c表示byte  
五、cp命令
該命令用於複製文件,copy之意,它還能夠把多個文件一次性地複製到一個目錄下,它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -a :將文件的特性一塊兒複製  
  2. -p :連同文件的屬性一塊兒複製,而非使用默認方式,與-a類似,經常使用於備份  
  3. -i :若目標文件已經存在時,在覆蓋時會先詢問操做的進行  
  4. -r :遞歸持續複製,用於目錄的複製行爲  
  5. -u :目標文件與源文件有差別時纔會複製  
例如 :
 
[plain]  view plain  copy
  1. cp -a file1 file2 #連同文件的全部特性把文件file1複製成文件file2  
  2. cp file1 file2 file3 dir #把文件file一、file二、file3複製到目錄dir中  
六、mv命令
該命令用於移動文件、目錄或改名,move之意,它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -f :force強制的意思,若是目標文件已經存在,不會詢問而直接覆蓋  
  2. -i :若目標文件已經存在,就會詢問是否覆蓋  
  3. -u :若目標文件已經存在,且比目標文件新,纔會更新  
注:該命令能夠把一個文件或多個文件一次移動一個文件夾中,可是最後一個目標文件必定要是「目錄」。
 
例如:
 
[plain]  view plain  copy
  1. mv file1 file2 file3 dir # 把文件file一、file二、file3移動到目錄dir中  
  2. mv file1 file2 # 把文件file1重命名爲file2  
七、rm命令
該命令用於刪除文件或目錄,remove之間,它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -f :就是force的意思,忽略不存在的文件,不會出現警告消息  
  2. -i :互動模式,在刪除前會詢問用戶是否操做  
  3. -r :遞歸刪除,最經常使用於目錄刪除,它是一個很是危險的參數  
例如:
 
[plain]  view plain  copy
  1. rm -i file # 刪除文件file,在刪除以前會詢問是否進行該操做  
  2. rm -fr dir # 強制刪除目錄dir中的全部文件  
八、ps命令
該命令用於將某個時間點的進程運行狀況選取下來並輸出,process之意,它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -A :全部的進程均顯示出來  
  2. -a :不與terminal有關的全部進程  
  3. -u :有效用戶的相關進程  
  4. -x :通常與a參數一塊兒使用,可列出較完整的信息  
  5. -l :較長,較詳細地將PID的信息列出  
其實咱們只要記住ps通常使用的命令參數搭配便可,它們並很少,以下:
 
[plain]  view plain  copy
  1. ps aux # 查看系統全部的進程數據  
  2. ps ax # 查看不與terminal有關的全部進程  
  3. ps -lA # 查看系統全部的進程數據  
  4. ps axjf # 查看連同一部分進程樹狀態  
九、kill命令
該命令用於向某個工做(%jobnumber)或者是某個PID(數字)傳送一個信號,它一般與ps和jobs命令一塊兒使用,它的基本語法以下:
[plain]  view plain  copy
  1. kill -signal PID  
signal的經常使用參數以下:
注:最前面的數字爲信號的代號,使用時能夠用代號代替相應的信號。
 
[plain]  view plain  copy
  1. 1:SIGHUP,啓動被終止的進程  
  2. 2:SIGINT,至關於輸入ctrl+c,中斷一個程序的進行  
  3. 9:SIGKILL,強制中斷一個進程的進行  
  4. 15:SIGTERM,以正常的結束進程方式來終止進程  
  5. 17:SIGSTOP,至關於輸入ctrl+z,暫停一個進程的進行  
例如:
 
[plain]  view plain  copy
  1. # 以正常的結束進程方式來終於第一個後臺工做,可用jobs命令查看後臺中的第一個工做進程  
  2. kill -SIGTERM %1   
  3. # 從新改動進程ID爲PID的進程,PID可用ps命令經過管道命令加上grep命令進行篩選得到  
  4. kill -SIGHUP PID  
十、killall命令
該命令用於向一個命令啓動的進程發送一個信號,它的通常語法以下:
[plain]  view plain  copy
  1. killall [-iIe] [command name]  
它的參數以下:
 
[plain]  view plain  copy
  1. -i :交互式的意思,若須要刪除時,會詢問用戶  
  2. -e :表示後面接的command name要一致,但command name不能超過15個字符  
  3. -I :命令名稱忽略大小寫  
  4. # 例如:  
  5. killall -SIGHUP syslogd # 從新啓動syslogd  
十一、file命令
該命令用於判斷接在file命令後的文件的基本數據,由於在Linux下文件的類型並非之後綴爲分的,因此這個命令對咱們來講就頗有用了,它的用法很是簡單,基本語法以下:
 
[plain]  view plain  copy
  1. file filename  
  2. #例如:  
  3. file ./test  
十二、tar命令
該命令用於對文件進行打包,默認狀況並不會壓縮,若是指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -c :新建打包文件  
  2. -t :查看打包文件的內容含有哪些文件名  
  3. -x :解打包或解壓縮的功能,能夠搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出如今同一條命令中  
  4. -j :經過bzip2的支持進行壓縮/解壓縮  
  5. -z :經過gzip的支持進行壓縮/解壓縮  
  6. -v :在壓縮/解壓縮過程當中,將正在處理的文件名顯示出來  
  7. -f filename :filename爲要處理的文件  
  8. -C dir :指定壓縮/解壓縮的目錄dir  
上面的解說能夠已經讓你暈過去了,可是一般咱們只須要記住下面三條命令便可:
 
[plain]  view plain  copy
  1. 壓縮:tar -jcv -f filename.tar.bz2 要被處理的文件或目錄名稱  
  2. 查詢:tar -jtv -f filename.tar.bz2  
  3. 解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄  
注:文件名並不定要之後綴tar.bz2結尾,這裏主要是爲了說明使用的壓縮程序爲bzip2
 
1三、cat命令
該命令用於查看文本文件的內容,後接要查看的文件名,一般可用管道與more和less一塊兒使用,從而能夠一頁頁地查看數據。例如:
 
[plain]  view plain  copy
  1. cat text | less # 查看text文件中的內容  
  2. # 注:這條命令也可使用less text來代替  
1四、chgrp命令
該命令用於改變文件所屬用戶組,它的使用很是簡單,它的基本用法以下:
 
[plain]  view plain  copy
  1. chgrp [-R] dirname/filename  
  2. -R :進行遞歸的持續對全部文件和子目錄更改  
  3. # 例如:  
  4. chgrp users -R ./dir # 遞歸地把dir目錄下中的全部文件和子目錄下全部文件的用戶組修改成users  
1五、chown命令
該命令用於改變文件的全部者,與chgrp命令的使用方法相同,只是修改的文件屬性不一樣,再也不詳述。
 
1六、chmod命令
該命令用於改變文件的權限,通常的用法以下:
 
[plain]  view plain  copy
  1. chmod [-R] xyz 文件或目錄  
  2. -R:進行遞歸的持續更改,即連同子目錄下的全部文件都會更改  
同時,chmod還可使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(刪除)、=(設置)跟rwx搭配來對文件的權限進行更改。
 
 
[plain]  view plain  copy
  1. # 例如:  
  2. chmod 0755 file # 把file的文件權限改變爲-rxwr-xr-x  
  3. chmod g+w file # 向file的文件權限中加入用戶組可寫權限  
1八、vim命令
該命令主要用於文本編輯,它接一個或多個文件名做爲參數,若是文件存在就打開,若是文件不存在就以該文件名建立一個文件。vim是一個很是好用的文本編輯器,它裏面有不少很是好用的命令,在這裏再也不多說。你能夠從這裏下載 vim經常使用操做的詳細說明。
 
1九、gcc命令
對於一個用Linux開發C程序的人來講,這個命令就很是重要了,它用於把C語言的源程序文件,編譯成可執行程序,因爲g++的不少參數跟它很是類似,因此這裏只介紹gcc的參數,它的經常使用參數以下:
 
[plain]  view plain  copy
  1. -o :output之意,用於指定生成一個可執行文件的文件名  
  2. -c :用於把源文件生成目標文件(.o),並阻止編譯器建立一個完整的程序  
  3. -I :增長編譯時搜索頭文件的路徑  
  4. -L :增長編譯時搜索靜態鏈接庫的路徑  
  5. -S :把源文件生成彙編代碼文件  
  6. -lm:表示標準庫的目錄中名爲libm.a的函數庫  
  7. -lpthread :鏈接NPTL實現的線程庫  
  8. -std= :用於指定把使用的C語言的版本  
  9.   
  10. # 例如:  
  11. # 把源文件test.c按照c99標準編譯成可執行程序test  
  12. gcc -o test test.c -lm -std=c99  
  13. #把源文件test.c轉換爲相應的彙編程序源文件test.s  
  14. gcc -S test.c  
20、time命令
該命令用於測算一個命令(即程序)的執行時間。它的使用很是簡單,就像平時輸入命令同樣,不過在命令的前面加入一個time便可,例如:
 
[plain]  view plain  copy
  1. time ./process  
  2. time ps aux  
在程序或命令運行結束後,在最後輸出了三個時間,它們分別是:
user:用戶CPU時間,命令執行完成花費的用戶CPU時間,即命令在用戶態中執行時間總和;
system:系統CPU時間,命令執行完成花費的系統CPU時間,即命令在覈心態中執行時間總和;
real:實際時間,從command命令行開始執行到運行終止的消逝時間;
 
注:用戶CPU時間和系統CPU時間之和爲CPU時間,即命令佔用CPU執行的時間總和。實際時間要大於CPU時間,由於Linux是多任務操做系統,每每在執行一條命令時,系統還要處理其它任務。另外一個須要注意的問題是即便每次執行相同命令,但所花費的時間也是不同,其花費時間是與系統運行相關的。

 

 

1.ls [選項] [目錄名 | 列出相關目錄下的全部目錄和文件node

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-a 列出包括.a開頭的隱藏文件的全部文件
-A 通-a,但不列出 "." ".."
-l 列出文件的詳細信息
-c 根據ctime排序顯示
-t 根據文件修改時間排序
---color[=WHEN] 用色彩辨別文件類型 WHEN 能夠是’never’、’always’或’auto’其中之一
白色:表示普通文件
藍色:表示目錄
綠色:表示可執行文件
紅色:表示壓縮文件
淺藍色:連接文件
紅色閃爍:表示連接的文件有問題
黃色:表示設備文件
灰色:表示其它文件

2.mv [選項] 源文件或目錄 目錄或多個源文件 | 移動或重命名文件ios

1
2
3
4
5
6
7
8
9
-b  覆蓋前作備份
-f  如存在不詢問而強制覆蓋
-i  如存在則詢問是否覆蓋
-u  較新才覆蓋
-t  將多個源文件移動到統一目錄下,目錄參數在前,文件參數在後
eg:
     mv a /tmp/ 將文件a移動到 /tmp目錄下
     mv a b 將a命名爲b
     mv /home/zenghao test1.txt test2.txt test3.txt

3.cp [選項] 源文件或目錄 目錄或多個源文件 | 將源文件複製至目標文件,或將多個源文件複製至目標目錄。shell

1
2
3
4
5
-r -R 遞歸複製該目錄及其子目錄內容
-p  連同檔案屬性一塊兒複製過去
-f  不詢問而強制複製
-s  生成快捷方式
-a  將檔案的全部特性都一塊兒複製

4.scp [參數] [原路徑] [目標路徑] | 在Linux服務器之間複製文件和目錄數據庫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-v  詳細顯示輸出的具體狀況
-r  遞歸複製整個目錄
( 1 ) 複製文件:  
命令格式:  
scp local_file remote_username @remote_ip :remote_folder  
或者  
scp local_file remote_username @remote_ip :remote_file  
或者  
scp local_file remote_ip:remote_folder  
或者  
scp local_file remote_ip:remote_file  
1 , 2 個指定了用戶名,命令執行後須要輸入用戶密碼,第 1 個僅指定了遠程的目錄,文件名字不變,第 2 個指定了文件名  
3 , 4 個沒有指定用戶名,命令執行後須要輸入用戶名和密碼,第 3 個僅指定了遠程的目錄,文件名字不變,第 4 個指定了文件名   
( 2 ) 複製目錄:  
命令格式:  
scp -r local_folder remote_username @remote_ip :remote_folder  
或者  
scp -r local_folder remote_ip:remote_folder  
1 個指定了用戶名,命令執行後須要輸入用戶密碼;  
2 個沒有指定用戶名,命令執行後須要輸入用戶名和密碼;
eg:
     從 本地 複製到 遠程
     scp /home/daisy/full.tar.gz root @172 .19. 2.75 :/home/root 
     從 遠程 複製到 本地
     scp root@/ 172.19 . 2.75 :/home/root/full.tar.gz /home/daisy/full.tar.gz

5.rm [選項] 文件 | 刪除文件編程

1
2
3
4
-r 刪除文件夾
-f 刪除不提示
-i 刪除提示
-v 詳細顯示進行步驟

6.touch [選項] 文件 | 建立空文件或更新文件時間vim

1
2
3
4
5
-a 只修改存取時間
-m 值修改變更時間
-r eg:touch -r a b ,使b的時間和a相同
-t 指定特定的時間 eg:touch -t  201211142234.50  log.log
-t time [[CC]YY]MMDDhhmm[.SS],C:年前兩位

7.pwd 查看當前所在路徑c#

8.cd 改變當前目錄數組

1
2
3
4
- :返回上層目錄
.. :返回上層目錄
回車 :返回主目錄
/ :根目錄

9.mkdir [選項] 目錄… | 建立新目錄

1
2
3
4
5
6
-p 遞歸建立目錄,若父目錄不存在則依次建立
-m 自定義建立目錄的權限 eg:mkdir -m  777  hehe
-v 顯示建立目錄的詳細信息
10 .rmdir 刪除空目錄
-v 顯示執行過程
-p 若自父母刪除後父目錄爲空則一併刪除

11.rm [選項] 文件… | 一個或多個文件或目錄

1
2
3
4
-f 忽略不存在的文件,不給出提示
-i 交互式刪除
-r 將列出的目錄及其子目錄遞歸刪除
-v 列出詳細信息

12.echo:顯示內容

1
2
3
4
5
n  輸出後不換行
-e  遇到轉義字符特殊處理  
     eg:
         echo  "he\nhe"    顯示he\nhe
         ehco -e  "he\nhe"     顯示he(換行了)he

13.cat [選項] [文件]..| 一次顯示整個文件或從鍵盤建立一個文件或將幾個文件合併成一個文件

1
2
-n 編號文件內容再輸出
-E 在結束行提示$

14.tac | 反向顯示

15.more | 按頁查看文章內容,從前向後讀取文件,所以在啓動時就加載整個文件

1
2
3
4
5
+n 從第n行開始顯示
-n 每次查看n行數據
+/String 搜尋String字符串位置,從其前兩行開始查看
-c 清屏再顯示
-p 換頁時清屏

16.less | 可先後移動地逐屏查看文章內容,在查看前不會加載整個文件

1
2
3
4
5
6
7
8
-m 顯示相似於more命令的百分比
-N 顯示行號
/ 字符串:向下搜索「字符串」的功能
? 字符串:向上搜索「字符串」的功能
n 重複前一個搜索(與 / 或 ? 有關)
N 反向重複前一個搜索(與 / 或 ? 有關)
b 向後翻一頁
d 向後翻半頁

17.nl [選項]… [文件]… | 將輸出內容自動加上行號

1
2
3
4
-b
-b a 不管是否有空行,都列出行號(相似 cat -n)
-b t 空行則不列行號(默認)
-n 有ln rn rz三個參數,分別爲再最左方顯示,最右方顯示不加 0 ,最右方顯示加 0

18.head [參數]… [文件]… | 顯示檔案開頭,默認開頭10行

1
2
3
4
-v 顯示文件名
-c number 顯示前number個字符,若number爲負數,則顯示除最後number個字符的全部內容
-number/n (+)number 顯示前number行內容,
-n number 若number爲負數,則顯示除最後number行數據的全部內容

19.tail [必要參數] [選擇參數] [文件] | 顯示文件結尾內容

1
2
3
4
5
6
-v  顯示詳細的處理信息
-q  不顯示處理信息
-num/-n (-)num      顯示最後num行內容
-n +num 從第num行開始顯示後面的數據
-c  顯示最後c個字符
-f  循環讀取

20.vi 編輯文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
:w filename 將文章以指定的文件名保存起來  
:wq 保存並退出
:q! 不保存而強制退出
命令行模式功能鍵
1 )插入模式
     按「i」切換進入插入模式「insert mode」,按 "i" 進入插入模式後是從光標當前位置開始輸入文件;
     按「a」進入插入模式後,是從目前光標所在位置的下一個位置開始輸入文字;
     按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。
 
2 )從插入模式切換爲命令行模式
   按「ESC」鍵。
3 )移動光標
  vi能夠直接用鍵盤上的光標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格。
  按「ctrl」+「b」:屏幕往 "後" 移動一頁。
  按「ctrl」+「f」:屏幕往 "前" 移動一頁。
  按「ctrl」+「u」:屏幕往 "後" 移動半頁。
  按「ctrl」+「d」:屏幕往 "前" 移動半頁。
  按數字「 0 」:移到文章的開頭。
  按「G」:移動到文章的最後。
  按「$」:移動到光標所在行的 "行尾"
  按「^」:移動到光標所在行的 "行首"
  按「w」:光標跳到下個字的開頭
  按「e」:光標跳到下個字的字尾
  按「b」:光標回到上個字的開頭
  按「#l」:光標移到該行的第#個位置,如:5l,56l。
 
4 )刪除文字
  「x」:每按一次,刪除光標所在位置的 "後面" 一個字符。
  「#x」:例如,「6x」表示刪除光標所在位置的 "後面" 6 個字符。
  「X」:大寫的X,每按一次,刪除光標所在位置的 "前面" 一個字符。
  「#X」:例如,「20X」表示刪除光標所在位置的 "前面" 20 個字符。
  「dd」:刪除光標所在行。
  「#dd」:從光標所在行開始刪除#行
 
5 )複製
  「yw」:將光標所在之處到字尾的字符複製到緩衝區中。
  「#yw」:複製#個字到緩衝區
  「yy」:複製光標所在行到緩衝區。
  「#yy」:例如,「6yy」表示拷貝從光標所在的該行 "往下數" 6 行文字。
  「p」:將緩衝區內的字符貼到光標所在位置。注意:全部與 "y" 有關的複製命令都必須與 "p" 配合才能完成複製與粘貼功能。
 
6 )替換
  「r」:替換光標所在處的字符。
  「R」:替換光標所到之處的字符,直到按下「ESC」鍵爲止。
 
7 )回覆上一次操做
  「u」:若是您誤執行一個命令,能夠立刻按下「u」,回到上一個操做。按屢次 "u" 能夠執行屢次回覆。
 
8 )更改
  「cw」:更改光標所在處的字到字尾處
  「c#w」:例如,「c3w」表示更改 3 個字
 
9 )跳至指定的行
  「ctrl」+「g」列出光標所在行的行號。
  「#G」:例如,「15G」,表示移動光標至文章的第 15 行行首。

21.which 可執行文件名稱 | 查看可執行文件的位置,在PATH變量指定的路徑中查看系統命令是否存在及其位置

22.whereis [-bmsu] [BMS 目錄名 -f ] 文件名| 定位可執行文件、源代碼文件、幫助文件在文件系統中的位置

1
2
3
4
5
6
7
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件之外的其它文件。
-B 指定搜索可執行文件的路徑。
-M 指定搜索幫助文件的路徑。
-S 指定搜索源代碼文件的路徑。

23.locate | 經過搜尋數據庫快速搜尋檔案

-r 使用正規運算式作尋找的條件

24.find find [PATH] [option] [action] | 在文件樹種查找文件,並做出相應的處理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
選項與參數:
1 . 與時間有關的選項:共有 -atime, -ctime 與 -mtime 和-amin,-cmin與-mmin,以 -mtime 說明
     -mtime n :n 爲數字,意義爲在 n 天以前的『一天以內』被更動過內容的檔案;
     -mtime +n :列出在 n 天以前(不含 n 天自己)被更動過內容的檔案檔名;
     -mtime -n :列出在 n 天以內(含 n 天自己)被更動過內容的檔案檔名。
     -newer file :file 爲一個存在的檔案,列出比 file 還要新的檔案檔名
 
2 . 與使用者或組名有關的參數:
     -uid n :n 爲數字,這個數字是用戶的帳號 ID,亦即 UID
     -gid n :n 爲數字,這個數字是組名的 ID,亦即 GID
     -user name :name 爲使用者帳號名稱!例如 dmtsai
     -group name:name 爲組名,例如 users ;
     -nouser :尋找檔案的擁有者不存在 /etc/passwd 的人!
     -nogroup :尋找檔案的擁有羣組不存在於 /etc/group 的檔案!
 
3 . 與檔案權限及名稱有關的參數:
     -name filename:搜尋文件名爲 filename 的檔案(可以使用通配符)
     -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
         c: 表明  byte
         k: 表明 1024bytes。因此,要找比 50KB還要大的檔案,就是『 -size +50k 』
     -type TYPE :搜尋檔案的類型爲 TYPE 的,類型主要有:
         通常正規檔案 (f)
         裝置檔案 (b, c)
         目錄 (d)
         連結檔 (l)
         socket (s)
         FIFO (p)
     -perm mode :搜尋檔案權限『恰好等於』 mode的檔案,這個mode爲相似chmod的屬性值,舉例來講,-rwsr-xr-x 的屬性爲 4755
     -perm -mode :搜尋檔案權限『必需要所有囊括 mode 的權限』的檔案,舉例來講,
         咱們要搜尋-rwxr--r-- 亦即  0744  的檔案,使用-perm - 0744 ,當一個檔案的權限爲 -rwsr-xr-x ,亦即  4755  時,也會被列出來,由於 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
     -perm +mode :搜尋檔案權限『包含任一 mode 的權限』的檔案,舉例來
         說,咱們搜尋-rwxr-xr-x ,亦即 -perm + 755  時,但一個文件屬性爲 -rw-------也會被列出來,由於他有 -rw.... 的屬性存在!
4 . 額外可進行的動做:
     -exec command :command 爲其餘指令,-exec 後面可再接額外的指令來處理搜尋到的結果。
     -print :將結果打印到屏幕上,這個動做是預設動做!
     eg:
         find / -perm + 7000  -exec ls -l {} \; ,額外指令以-exec開頭,以\;結尾{}代替前面找到的內容
     | xargs 
         -i  默認的前面輸出用{}代替 
         eg:
             find . -name  "*.log"  | xargs -i mv {} test4

25.file | 判斷文件類型

26.gzip [-cdtv#] 檔名 | 壓縮、解壓縮,源文件都再也不存在

1
2
3
4
-d 進行解壓縮
-c 將壓縮的數據輸出到屏幕上
-v :顯示原檔案/壓縮文件案的壓縮比等信息
-# :壓縮等級,- 1 最快,但壓縮比最差,= 9 最慢,但壓縮比最好

27.gunzip | 解壓縮

28.bzip2 | 壓縮、解壓縮

1
2
3
4
5
6
-d :解壓
-z :壓縮
-k :保留源文件
-c :將壓縮的過程產生的數據輸出到屏幕上!
-v :能夠顯示出原檔案/壓縮文件案的壓縮比等信息;
-# :與 gzip 一樣的,都是在計算壓縮比的參數, - 9  最佳, - 1  最快!

29.bzcat 讀取數據而無需解壓

30.tar [主選項+輔選項] 文件或者目錄 | 多個目錄或檔案打包、壓縮成一個大檔案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
主選項:
     -c  創建打包檔案,可搭配 -v 來察看過程當中被打包的檔名(filename)
     -t  察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了;
     -x  解打包或解壓縮的功能,能夠搭配 -C (大寫) 在特定目錄解開
輔選項:
     -j  透過 bzip2 的支持進行壓縮/解壓縮:此時檔名最好爲 *.tar.bz2
     -z  透過 gzip 的支持進行壓縮/解壓縮:此時檔名最好爲 *.tar.gz
     -v  在壓縮/解壓縮的過程當中,將正在處理的文件名顯示出來!
     -f filename -f 後面要馬上接要被處理的檔名!
     -C 目錄   這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項。
     --exclude FILE:在壓縮打包過程當中忽略某文件 eg: tar --exclude /home/zenghao -zcvf myfile.tar.gz /home/* /etc
     -p  保留備份數據的本來權限與屬性,經常使用於備份(-c)重要的配置文件
     -P(大寫)  保留絕對路徑,亦即容許備份數據中含有根目錄存在之意;
eg:
     壓 縮:tar -jcvf filename.tar.bz2 要被壓縮的檔案或目錄名稱
     查 詢:tar -jtvf filename.tar.bz2
     解壓縮:tar -jxvf filename.tar.bz2 -C 欲解壓縮的目錄

31.exit 退出當前shell

32.logout 退出登陸shell

33.shutdown -h now

34.users 顯示當前登陸系統地用戶

35.who 登陸在本機的用戶與來源

1
-H或--heading  顯示各欄位的標題信息列。

36.w 登陸在本機的用戶及其運行的程序

1
2
-s  使用簡潔格式列表,不顯示用戶登入時間,終端機階段做業和程序所耗費的CPU時間。
-h  不顯示各欄位的標題信息列。

37.write 給當前聯機的用戶發消息

38.wall 給全部登陸再本機的用戶發消息

39.last 查看用戶的登錄日誌

40.lastlog 查看每一個用戶最後的登錄時間

41.finger [選項] [使用者] [用戶@主機] | 查看用戶信息

1
2
3
-s 顯示用戶的註冊名、實際姓名、終端名稱、寫狀態、停滯時間、登陸時間等信息
-l 除了用-s選項顯示的信息外,還顯示用戶主目錄、登陸shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。
-p 除了不顯示.plan文件和.project文件之外,與-l選項相同

42.hostname 查看主機名

43.alias ii = 「ls -l」 | 添加別名

44.unalias ii | 清除別名

45.useradd [-u UID] [-g 初始羣組] [-G 次要羣組] [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者帳號名 | 新增用戶

1
2
3
4
5
-M 不創建用戶家目錄!(系統帳號默認值)
-m 創建用戶家目錄!(通常帳號默認值)
-r 創建一個系統的帳號,這個帳號的 UID 會有限制
-e 帳號失效日期,格式爲『YYYY-MM-DD』
-D 查看useradd的各項默認值

46.passwd | 修改密碼

1
2
3
4
5
6
7
8
-l 使密碼失效
-u 與-l相對,用戶解鎖
-S 列出登錄用戶passwd文件內的相關參數
-n 後面接天數,shadow 的第  4  字段,多久不可修改密碼天數
-x 後面接天數,shadow 的第  5  字段,多久內必需要更動密碼
-w 後面接天數,shadow 的第  6  字段,密碼過時前的警告天數
-i 後面接『日期』,shadow 的第  7  字段,密碼失效日期
使用管道劉設置密碼:echo  "zeng"  | passwd --stdin zenghao

47.userdel 刪除用戶

1
-r 用戶文件一併刪除

48.chage [-ldEImMW] 帳號名 | 修改用戶密碼的相關屬性

1
2
3
4
5
6
7
-l 列出該帳號的詳細密碼參數;
-d 後面接日期,修改 shadow 第三字段(最近一次更改密碼的日期),格式YYYY-MM-DD
-E 後面接日期,修改 shadow 第八字段(帳號失效日),格式 YYYY-MM-DD
-I 後面接天數,修改 shadow 第七字段(密碼失效日期)
-m 後面接天數,修改 shadow 第四字段(密碼最短保留天數)
-M 後面接天數,修改 shadow 第五字段(密碼多久須要進行變動)
-W 後面接天數,修改 shadow 第六字段(密碼過時前警告日期)

49.usermod [-cdegGlsuLU] username | 修改用戶的相關屬性

1
2
3
4
5
6
7
8
9
10
11
-c 後面接帳號的說明,即 /etc/passwd 第五欄的說明欄,能夠加入一些帳號的說明。
-d 後面接帳號的家目錄,即修改 /etc/passwd 的第六欄;
-e 後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個字段數據啦!
-f 後面接天數爲 shadow 的第七字段。
-g 後面接初始羣組,修改 /etc/passwd 的第四個字段,亦便是GID的字段!
-G 後面接次要羣組,修改這個使用者可以支持的羣組
-l 後面接帳號名稱。亦便是修改帳號名稱, /etc/passwd 的第一欄!
-s 後面接 Shell 的實際檔案,例如 /bin/bash 或 /bin/csh 等等。
-u 後面接 UID 數字啦!即 /etc/passwd 第三欄的資料;
-L 凍結密碼
-U 解凍密碼

50.id [username] | 查看用戶相關的id信息,還能夠用來判斷用戶是否存在

51.groups 查看登錄用戶支持的羣組, 第一個輸出的羣組爲有效羣組

52.newgrp 切換有效羣組

53.groupadd [-g gid] 組名 | 添加組

1
-g 設定添加組的特定組id

54.groupmod [-g gid] [-n group_name] 羣組名 | 修改組信息

1
2
-g 修改既有的 GID 數字
-n 修改既有的組名

55.groupdel [groupname] | 刪除羣組

56.gpasswd | 羣組管理員功能

1
2
3
4
5
6
7
8
9
10
11
root管理員動做:
     -gpasswd groupname 設定密碼
     -gpasswd [-A user1,...] [-M user3,...] groupname
         -A  將 groupname 的主控權交由後面的使用者管理(該羣組的管理員)
         -M  將某些帳號加入這個羣組當中
     -gpasswd [-r] groupname
         -r  將 groupname 的密碼移除
羣組管理員動做:
     - gpasswd [-ad] user groupname 
         -a  將某位使用者加入到 groupname 這個羣組當中
         -d  將某位使用者移除出 groupname 這個羣組當中

57.chfn修改我的信息

58.mount [-t vfstype] [-o options] device dir

1
2
3
-ro 採用只讀方式掛接設備
-rw 採用讀寫方式掛接設備
eg:mount /home/mydisk.iso /tmp/mnt 經過mnt訪問mydisk內的內容

59.umount 取消掛載

60.cut

1
2
3
4
-b :以字節爲單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標誌。
-c :以字符爲單位進行分割。
-d :自定義分隔符,默認爲製表符。
-f :與-d一塊兒使用,指定顯示哪一個區域。

61.sort

1
2
3
4
5
-n 依照數值的大小排序。
-o<輸出文件> 將排序後的結果存入指定的文件。
-r 以相反的順序來排序。
-t<分隔字符> 指定排序時所用的欄位分隔字符。
-k 選擇以哪一個區間進行排序。

62.wc 統計指定文件中的字節數、字數、行數, 並將統計結果顯示輸出

1
2
3
4
-l filename 報告行數
-c filename 報告字節數
-m filename 報告字符數
-w filename 報告單詞數

63.uniq 去除文件中相鄰的重複行

1
2
3
清空/新建文件,將內容重定向輸入進去
&> 正確、錯誤都重定向過去
後面追加

64.set 顯示環境變量和普通變量

65.env 顯示環境變量

66.export 把普通變量變成環境變量

67.unset 刪除一個環境變量

1
aaa(){} 定義函數

68.read

1
2
-p 接提示字符
-t 接等待的秒數

69.declare、typeset

1
2
3
4
-i 聲明爲整數
-a 聲明爲數組
-f 聲明爲函數
-r 聲明爲只讀

70.ulimit 限制使用者的某些系統資源

1
2
-f 此 shell 能夠創建的最大檔案容量 (通常可能設定爲 2GB)單位爲 Kbytes eg: ulimit -f  1024
限制使用者僅能創建 1MBytes 如下的容量的檔案

71.df [選項] [文件] | 顯示指定磁盤文件的可用空間,若是沒有文件名被指定,則全部當前被掛載的文件系統的可用空間將被顯示

1
2
3
4
5
-a 顯示所有文件系統
-h 文件大小友好顯示
-l 只顯示本地文件系統
-i 顯示inode信息
-T 顯示文件系統類型

72.du [選項] [文件] | 顯示每一個文件和目錄的磁盤使用空間

1
2
-h 方便閱讀的方式
-s 只顯示總和的大小

73.ln [參數] [源文件或目錄] [目標文件或目錄] | 某一個文件在另一個位置創建一個同步的連接

1
2
-s 創建軟鏈接
-v 顯示詳細的處理過程

74.diff [參數] [文件1或目錄1] [文件2或目錄2] | 比較單個文件或者目錄內容

1
2
3
4
5
-b  不檢查空格字符的不一樣。
-B  不檢查空白行。
-i 不檢查大小寫
-q 僅顯示差別而不顯示詳細信息
eg: diff a b > parch.log 比較兩個文件的不一樣併產生補丁

75.date [參數]… [+格式] | 顯示或設定系統的日期與時間

1
2
3
4
5
6
7
8
9
10
%H 小時(以 00 - 23 來表示)。
%M 分鐘(以 00 - 59 來表示)。
%P AM或PM。
%D 日期(含年月日)
%U 該年中的週數。
date -s 「 2015 - 10 - 17  01 : 01 : 01 ″  //時間設定
date +%Y%m%d  //顯示前天年月日
date +%Y%m%d --date= "+1 day/month/year"  //顯示前一天/月/年的日期
date +%Y%m%d --date= "-1 day/month/year"  //顯示後一天/月/年的日期
date -d  '2 weeks'  2 周後的日期

76.cal [參數] 月份] [年份] | 查看日曆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- 1  顯示當月的月曆
- 3  顯示前、當、後一個月的日曆
-m 顯示星期一爲一個星期的第一天
-s (默認)星期天爲第一天
-j 顯示當月是一年中的第幾天的日曆
-y 顯示當前年份的日曆
77 .ps | 列出當前進程的快照
a 顯示全部的進程
-a 顯示同一終端下的全部程序
e 顯示環境變量
f 顯示進程間的關係
-H 顯示樹狀結構
r 顯示當前終端的程序
T 顯示當前終端的全部程序
-au 顯示更詳細的信息
-aux 顯示全部包含其餘使用者的行程
-u 指定用戶的全部進程

78.top [參數] | 顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等

79.kill [參數] [進程號] | 殺死進程

80.free [參數] | 顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer

81.vmstat | 對操做系統的虛擬內存、進程、CPU活動進行監控

82.iostat [參數] [時間t] [次數n](每隔t時間刷新一次,最多刷新n次)| 對系統的磁盤操做活動進行監視,彙報磁盤活動統計狀況,同時也會彙報出CPU使用狀況

1
-p[磁盤] 顯示磁盤和分區的狀況

83.watch [參數] [命令] |重複執行某一命令以觀察變化

1
2
-n 時隔多少秒刷新
-d 高亮顯示動態變化

84.at [參數] [時間] | 在一個指定的時間執行一個指定任務,只能執行一次

1
2
3
4
HH:MM[am|pm] + number [minutes|hours|days|weeks] 強制在某年某月某日的某時刻進行該項任務
atq 查看系統未執行的任務
atrm n 刪除編號爲n的任務
at -c n 顯示編號爲n的任務的內容

85.crontab | 定時任務調度

1
2
3
4
file 載入crontab
-e 編輯某個用戶的crontab文件內容
-l 顯示某個用戶的crontab文件內容
-r 刪除某個用戶的crontab文件

86.ifconfig [網絡設備] [參數] | 查看和配置網絡設備

87.route | 顯示和操做IP路由表

88.ping [參數] [主機名或IP地址] | 測試與目標主機的連通性

1
-q 只顯示最後的結果

89.netstat | 顯示與IP、TCP、UDP和ICMP協議相關的統計數據

90.telnet [參數] [主機] | 用於遠程登陸,採用明文傳送報文,安全性很差

91.rcp [參數] [源文件] [目標文件] | 遠程文件拷貝

1
2
3
-r 遞歸複製
-p 保留源文件的屬性
usage: rcp –r remote_hostname:remote_dir local_dir

92.wget [參數] [URL地址] | 直接從網絡上下載文件

1
2
-o FILE 把記錄寫到FILE文件中 eg : wget -O a.txt URL
wget --limit-rate=300k URL 限速下載

93.awk

1
2
-F 分隔符 以分隔符分隔內容
{} 要執行的腳本內容 eg:cat /etc/passwd |awk -F  ':'  '{print $1"\t"$7}'

94.sed 對數據行進行替換、刪除、新增、選取等操做

1
2
3
4
a   新增,在新的下一行出現
c   取代,取代 n1,n2 之間的行 eg: sed  '1,2c Hi'  ab
d   刪除
i   插入,在新的上一行出現

95.paste 合併文件,需確保合併的兩文件行數相同

1
2
-d 指定不一樣於空格或tab鍵的域分隔符
-s 按行合併,單獨一個文件爲一行

96.su [參數] user | 切換登錄

1
2
-l 切換時連同環境變量、工做目錄一塊兒改變
-c command 執行command變回原來的使用者

97.sudo | 以特定用戶的權限執行特定命令

1
2
-l 列出當前用戶可執行的命令
-u username#uid 以指定用戶執行命令
相關文章
相關標籤/搜索