linux常用命令

1. ls
顯示目錄文件夾及文件
使用方式: ls -lt

  1. -a 顯示目錄下所有文件及文件夾包括 . 與 ..  

  2. -A 顯示目錄下所有文件及文件夾不包括 . 與 ..  

  3. -l 顯示目錄下所有文件及文件夾詳細信息  

  4. -t 按修改時間排序(倒序)  

  5. -F 如目錄後加/ 如可執行文件後加*  

  6. -r 按文件名字母排序(倒序)  

  7. -R 顯示目錄下所有文件夾及文件(包括子文件夾)  

2. cat
將文件內容串連後輸出
使用方式: cat file1 file2 filen
  1. -n 對所有輸出的行數加序號  

  2. -b 對所有輸出的非空白行數加序號  

  3. -s 如連續兩行或以上的空行,替代爲一行空行  

3.chmod
更新文件夾或文件權限
使用方式: chmod a+x *.*
  1. ugoa +-= rwx  

  2. -c 如修改後的權限與之前不同,顯示修改訊息  

  3. -v 顯示修改訊息  

  4. -f 隱藏錯誤  

  5. -R 遍歷設置權限(子文件夾)  

4.chown
更新文件夾擁有者與組
使用方式: chown -R root:root *

  1. -R 遍歷設置(子文件夾)  

5. cp
本地複製文件夾與文件
使用方式: cp -a source dest

  1. -a 保留源文件的權限等訊息  

  2. -r 遍歷複製(子文件夾)  

  3. -f 當目標文件與原文件重名,先刪除目標文件,再複製  

6. cut
顯示文件內容N-M列的內容
使用方式: cut -c1-6 file
  1. -c 顯示每行從頭開始的num1到num2的文字  

7. rm
刪除文件
使用方式: rm -rf file or folder

  1. -i 刪除前逐一詢問確認  

  2. -f 即使文件只讀都強制刪除,不需要確認  

  3. -f 遍歷刪除(子文件夾)  

8. rmdir
刪除文件夾
使用方式: rmdir folder

  1. -p 如果刪除子文件夾後是空文件夾,則一併刪除。注意:會一直刪除父級目錄,直到父級目錄不爲空。  

9. unzip
解密
使用方式: unzip -P 123456 -d path o.zip

  1. -P <密碼> zip 壓縮包的密碼  

  2. -f 覆蓋原有文件  

  3. -d <路徑> 指定解壓路徑  

  4. -n 解壓縮時不覆蓋原有文件  

  5. -o 不經詢問,直接覆蓋原有文件  

  6. -u 覆蓋原有文件,並將壓縮文件中的其他文件解壓縮到目錄中  

  7. -l 顯示壓縮文件內所包含的文件 -t 檢查壓縮文件是否正確  

  8. -Z unzip -Z 等於執行 zipinfo 指令 -j 不處理壓縮文件中原有的目錄路徑  

  9. -C 壓縮文件中的文件名稱區分大小寫  

  10. -z 顯示壓縮包註釋  

  11. -L 將壓縮文件中的全部文件名改爲小寫  

  12. -s 將文件名中的空格轉換下劃線 -X 解壓縮時保留文件原來的 UID/GID  

  13. -q 執行時不顯示任何信息 -v 執行是時顯示詳細的信息  

  14. -c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換  

  15. -p 與-c 參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換  

  16. -a 對文本文件進行必要的字符轉換  

  17. -b 不要對文本文件進行字符轉換  

  18. -x <表達式> 處理裏排除壓縮包中的指定文件  

  19. -M 將輸出結果送到 more 程序處理  

10. zip
加密
使用方式: zip -q -r d.zip folder/file

  1. -A 調整可執行的自動解壓縮文件。  

  2. -b <工作目錄> 指定暫時存放文件的目錄。  

  3. -c 替每個被壓縮的文件加上註釋。  

  4. -d 從壓縮文件內刪除指定的文件。  

  5. -D 壓縮文件內不建立目錄名稱。  

  6. -f 此參數的效果和指定"-u"參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一併將其加入壓縮文件中。  

  7. -F 嘗試修復已損壞的壓縮文件。  

  8. -g 將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件。  

  9. -h 在線幫助。  

  10. -i <範本樣式> 只壓縮符合條件的文件。  

  11. -j 只保存文件名稱及其內容,而不存放任何目錄名稱。  

  12. -J 刪除壓縮文件前面不必要的數據。  

  13. -k 使用MS-DOS兼容格式的文件名稱。  

  14. -l 壓縮文件時,把LF字符置換成LF+CR字符。  

  15. -ll 壓縮文件時,把LF+CR字符置換成LF字符。  

  16. -L 顯示版權信息。  

  17. -m 將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中。  

  18. -n <字尾字符串> 不壓縮具有特定字尾字符串的文件。  

  19. -o 以壓縮文件內擁有最新更改時間的文件爲準,將壓縮文件的更改時間設成和該文件相同。  

  20. -q 不顯示指令執行過程。  

  21. -r 遞歸處理,將指定目錄下的所有文件和子目錄一併處理。  

  22. -S 包含系統和隱藏文件。  

  23. -t <日期時間> 把壓縮文件的日期設成指定的日期。  

  24. -T 檢查備份文件內的每個文件是否正確無誤。  

  25. -u 更換較新的文件到壓縮文件內。  

  26. -v 顯示指令執行過程或顯示版本信息。  

  27. -V 保存VMS操作系統的文件屬性。  

  28. -w 在文件名稱裏假如版本編號,本參數僅在VMS操作系統下有效。  

  29. -x <範本樣式> 壓縮時排除符合條件的文件。  

  30. -X 不保存額外的文件屬性。  

  31. -y 直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。  

  32. -z 替壓縮文件加上註釋。  

  33. -$ 保存第一個被壓縮文件所在磁盤的卷冊名稱。  

  34. -<壓縮效率> 壓縮效率是一個介於1-9的數值。  

11. find

查找文件及文件夾
使用方式: find path -mtime 3 -type f -exec ls -lt {} \;

  1. -atime N 最後訪問時間在N天前  

  2. -mtime N 最後更新時間在N天前  

  3. -name name 名稱包含  

  4. -user user 用戶名包含  

  5. -newer otherfile 比某個文件新  

  6. -type 類型 f:文件 d:目錄  

  7. !  not  

  8. -a and  

  9. -o or  

  10. -print 打印文件名  

  11. -mount 不搜索其他問題系統的目錄  

  12. -maxdepth N 最多搜尋目錄的層數  

  13. -mindepth N 從N層開始搜尋  

  14. -depth 查看目錄本身之前先搜尋目錄的內容  

  15. -empty 文件或目錄爲空  

  16. -exec command {} \; 執行命令  

  17. -ok command {} \;   執行命令,每次執行需要用戶確認  

12. grep
匹配
使用方式: grep -c "string" file1 file2

  1. -c 只顯示匹配的行數  

  2. -i 不區分大小寫  

  3. -l 只顯示文件名  

  4. -h 不顯示前綴文件名  

  5. -v 顯示不匹配的行數  

  6. -E 擴展模式(使用正則)  

  7. -n 顯示匹配的行在文件中的行數  

  8. -x 只打印整行匹配的行  

  9. -Ax 顯示匹配行後x行  

  10. -By 顯示匹配行前y行  

  11. -Cz 顯示匹配行前後z行  

13. scp
遠程複製文件夾與文件
使用方式:
scp localfile username@ip:remotefolder
scp username@ip:remotefile localfolder
scp -r localfolder username@ip:remotefolder
scp -r username@ip:remotefolder localfolder

  1. -r 複製目錄及所有子目錄子文件(遍歷)  

14. df du
df  查看文件系統容量
du 查看文件夾及文件容量
使用方式:
du -h --max-depth=1 folder
df -h

  1. -h 以可讀性較好的方式顯示尺寸(例如:1K 234M 2G)  

  2. --max-depth=N N查詢的深度  

15. ln
創建文件或文件夾鏈接
使用方式:
ln -s 源文件/源文件夾 目標文件
ln -s /home/fdipzone/demo link 在當前目錄創建一個文件夾鏈接link,鏈接到 /home/fdipzone/demo
說明 : Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視爲檔案的別名,而連結又可分爲兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔 案系統中,而軟連結卻可以跨越不同的檔案系統。

ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。
不論是硬連結或軟鏈結都不會將原本的檔案複製一份,只會佔用非常少量的磁碟空間。
  1. -f : 鏈結時先將與 dist 同檔名的檔案刪除  

  2. -d : 允許系統管理者硬鏈結自己的目錄  

  3. -i : 在刪除與 dist 同檔名的檔案時先進行詢問  

  4. -n : 在進行軟連結時,將 dist 視爲一般的檔案  

  5. -s : 進行軟鏈結(symbolic link)  

  6. -v : 在連結之前顯示其檔名  

  7. -b : 將在鏈結時會被覆寫或刪除的檔案進行備份  

  8. -S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾  

  9. -V METHOD : 指定備份的方式  

  10. --help : 顯示輔助說明  

  11. --version : 顯示版本  

16. locate
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執行。
使用方式:
locate filename
locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c] <[-U ] [-u]>
locate [-Vh] [--version] [--help]

locate chdrv:尋找所有叫 chdrv 的檔案
locate -n 100 a.out:尋找所有叫 a.out 的檔案,但最多隻顯示 100 個
locate -u:建立資料庫

  1. -u  

  2. -U 建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。  

  3. -e 將排除在尋找的範圍之外。  

  4. -l 如果 是 1.則啓動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因爲 locate 必須至實際的檔案系統中取得檔案的權限資料。  

  5. -f 將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。  

  6. -q 安靜模式,不會顯示任何錯誤訊息。  

  7. -n 至多顯示n個輸出。  

  8. -r 使用正規運算式 做尋找的條件。  

  9. -o 指定資料庫存的名稱。  

  10. -d 指定資料庫的路徑  

  11. -h 顯示輔助訊息  

  12. -v 顯示更多的訊息  

  13. -V 顯示程式的版本訊息  

17. wc
使用方式:wc [option] file1  file2
wc -l file
可以組合使用 wc -lcw file1 file2

  1. - c 統計字節數  

  2. - l 統計行數  

  3. - w 統計字數  

18. wget
使用方式:wget [options] [URL]
wget -O test.zip http://www.fdipzone.com/test.zip

  1. 啓動:  

  2. -V, --version 顯示wget的版本後退出  

  3. -h, --help 打印語法幫助  

  4. -b, --background 啓動後轉入後臺執行  

  5. -e, --execute=COMMAND 執行`.wgetrc'格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc  

  6. wget默認會根據網站的robots.txt進行操作  

  7. 使用-e robots=off參數即可繞過該限制  

  8. 記錄和輸入文件:  

  9. -o, --output-file=FILE 把記錄寫到FILE文件中  

  10. -a, --append-output=FILE 把記錄追加到FILE文件中  

  11. -d, --debug 打印調試輸出  

  12. -q, --quiet 安靜模式(沒有輸出)  

  13. -v, --verbose 冗長模式(這是缺省設置)  

  14. -nv, --non-verbose 關掉冗長模式,但不是安靜模式  

  15. -i, --input-file=FILE 下載在FILE文件中出現的URLs  

  16. -F, --force-html 把輸入文件當作HTML格式文件對待  

  17. -B, --base=URL 將URL作爲在-F -i參數指定的文件中出現的相對鏈接的前綴  

  18. --sslcertfile=FILE 可選客戶端證書  

  19. --sslcertkey=KEYFILE 可選客戶端證書的KEYFILE  

  20. --egd-file=FILE 指定EGD socket的文件名  

  21. 下載:  

  22. --bind-address=ADDRESS 指定本地使用地址(主機名或IP,當本地有多個IP或名字時使用)  

  23. -t, --tries=NUMBER 設定最大嘗試鏈接次數(0 表示無限制).  

  24. -O --output-document=FILE 把文檔寫到FILE文件中  

  25. -nc, --no-clobber 不要覆蓋存在的文件或使用.#前綴  

  26. -c, --continue 接着下載沒下載完的文件  

  27. --progress=TYPE 設定進程條標記  

  28. -N, --timestamping 不要重新下載文件除非比本地文件新  

  29. -S, --server-response 打印服務器的迴應  

  30. --spider 不下載任何東西  

  31. -T, --timeout=SECONDS 設定響應超時的秒數  

  32. -w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒  

  33. --waitretry=SECONDS 在重新鏈接之間等待1...SECONDS秒  

  34. --random-wait 在下載之間等待0...2*WAIT秒  

  35. -Y, --proxy=on/off 打開或關閉代理  

  36. -Q, --quota=NUMBER 設置下載的容量限制  

  37. --limit-rate=RATE 限定下載輸率  

  38. 目錄:  

  39. -nd --no-directories 不創建目錄  

  40. -x, --force-directories 強制創建目錄  

  41. -nH, --no-host-directories 不創建主機目錄  

  42. -P, --directory-prefix=PREFIX 將文件保存到目錄 PREFIX/...  

  43. --cut-dirs=NUMBER 忽略 NUMBER層遠程目錄  

  44. HTTP 選項:  

  45. --http-user=USER 設定HTTP用戶名爲 USER.  

  46. --http-passwd=PASS 設定http密碼爲 PASS.  

  47. -C, --cache=on/off 允許/不允許服務器端的數據緩存 (一般情況下允許).  

  48. -E, --html-extension 將所有text/html文檔以.html擴展名保存  

  49. --ignore-length 忽略 `Content-Length'頭域  

  50. --header=STRING 在headers中插入字符串 STRING  

  51. --proxy-user=USER 設定代理的用戶名爲 USER  

  52. --proxy-passwd=PASS 設定代理的密碼爲 PASS  

  53. --referer=URL 在HTTP請求中包含 `Referer: URL'頭  

  54. -s, --save-headers 保存HTTP頭到文件  

  55. -U, --user-agent=AGENT 設定代理的名稱爲 AGENT而不是 Wget/VERSION.  

  56. --no-http-keep-alive 關閉 HTTP活動鏈接 (永遠鏈接).  

  57. --cookies=off 不使用 cookies.  

  58. --load-cookies=FILE 在開始會話前從文件 FILE中加載cookie  

  59. --save-cookies=FILE 在會話結束後將 cookies保存到 FILE文件中  

  60. FTP 選項:  

  61. -nr, --dont-remove-listing 不移走 `.listing'文件  

  62. -g, --glob=on/off 打開或關閉文件名的 globbing機制  

  63. --passive-ftp 使用被動傳輸模式 (缺省值).  

  64. --active-ftp 使用主動傳輸模式  

  65. --retr-symlinks 在遞歸的時候,將鏈接指向文件(而不是目錄)  

  66. 遞歸下載:  

  67. -r, --recursive 遞歸下載--慎用!  

  68. -l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮).  

  69. --delete-after 在現在完畢後局部刪除文件  

  70. -k, --convert-links 轉換非相對鏈接爲相對鏈接  

  71. -K, --backup-converted 在轉換文件X之前,將之備份爲 X.orig  

  72. -m, --mirror 等價於 -r -N -l inf -nr.  

  73. -p, --page-requisites 下載顯示HTML文件的所有圖片  

  74. 遞歸下載中的包含和不包含(accept/reject):  

  75. -A, --accept=LIST 分號分隔的被接受擴展名的列表  

  76. -R, --reject=LIST 分號分隔的不被接受的擴展名的列表  

  77. -D, --domains=LIST 分號分隔的被接受域的列表  

  78. --exclude-domains=LIST 分號分隔的不被接受的域的列表  

  79. --follow-ftp 跟蹤HTML文檔中的FTP鏈接  

  80. --follow-tags=LIST 分號分隔的被跟蹤的HTML標籤的列表  

  81. -G, --ignore-tags=LIST 分號分隔的被忽略的HTML標籤的列表  

  82. -H, --span-hosts 當遞歸時轉到外部主機  

  83. -L, --relative 僅僅跟蹤相對鏈接  

  84. -I, --include-directories=LIST 允許目錄的列表  

  85. -X, --exclude-directories=LIST 不被包含目錄的列表  

  86. -np, --no-parent 不要追溯到父目錄  

19.tar
使用方式:tar [-cxtzjvfpPN] 文件與目錄
tar -xzvf  test.tar.gz

  1. -c :建立一個壓縮文件的參數指令(create 的意思);  

  2. -x :解開一個壓縮文件的參數指令!  

  3. -t :查看 tarfile 裏面的文件!  

  4. 特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!  

  5. 因爲不可能同時壓縮與解壓縮。  

  6. -z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?  

  7. -j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?  

  8. -v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!  

  9. -f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!  

  10.    例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成  

  11.    『 tar -zcvPf tfile sfile』纔對  

  12. -p :使用原文件的原來屬性(屬性不會依據使用者而變)  

  13. -P :可以使用絕對路徑來壓縮!  

  14. -N :比後面接的日期(yyyy/mm/dd)還要新的纔會被打包進新


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章