Linux_经常使用命令
1. ls
顯示文件夾文件夾及文件
使用方式: ls -lt
-a 顯示文件夾下全部文件及文件夾包括 . 與 .. -A 顯示文件夾下全部文件及文件夾不包括 . 與 .. -l 顯示文件夾下全部文件及文件夾具體信息 -t 按改動時間排序(倒序) -F 如文件夾后加/ 如可運行文件后加* -r 按文件名稱字母排序(倒序) -R 顯示文件夾下全部文件夾及文件(包括子文件夾)
2. cat
將文件內容串連后輸出
使用方式: cat file1 file2 filen
-n 對全部輸出的行數加序號 -b 對全部輸出的非空白行數加序號 -s 如連續兩行或以上的空行,替代為一行空行
3.chmod
更新文件夾或文件權限
使用方式: chmod a+x *.*
ugoa +-= rwx -c 如改動后的權限與之前不同,顯示改動訊息 -v 顯示改動訊息 -f 隱藏錯誤 -R 遍歷設置權限(子文件夾)
4.chown
更新文件夾擁有者與組
使用方式: chown -R root:root *
-R 遍歷設置(子文件夾)
5. cp
本地拷貝文件夾與文件
使用方式: cp -a source dest
-a 保留源文件的權限等訊息 -r 遍歷復制(子文件夾) -f 當目標文件與原文件重名,先刪除目標文件,再復制
6. cut
顯示文件內容N-M列的內容
使用方式: cut -c1-6 file
-c 顯示每行從頭開始的num1到num2的文字
7. rm
刪除文件
使用方式: rm -rf file or folder
-i 刪除前逐一詢問確認 -f 即使文件僅僅讀都強制刪除,不須要確認 -r 遍歷刪除(子文件夾)
8. rmdir
刪除文件夾
使用方式: rmdir folder
-p 假設刪除子文件夾后是空文件夾,則一并刪除。注意:會一直刪除父級文件夾,直到父級文件夾不為空。
9. unzip
解密
使用方式: unzip -P 123456 -d path o.zip
-P <password> zip 壓縮包的password -f 覆蓋原有文件 -d <路徑> 指定解壓路徑 -n 解壓縮時不覆蓋原有文件 -o 不經詢問,直接覆蓋原有文件 -u 覆蓋原有文件,并將壓縮文件里的其它文件解壓縮到文件夾中 -l 顯示壓縮文件內所包括的文件 -t 檢查壓縮文件是否正確 -Z unzip -Z 等于運行 zipinfo 指令 -j 不處理壓縮文件里原有的文件夾路徑 -C 壓縮文件里的文件名稱稱區分大寫和小寫 -z 顯示壓縮包凝視 -L 將壓縮文件里的全部文件名稱改為小寫 -s 將文件名稱中的空格轉換下劃線 -X 解壓縮時保留文件原來的 UID/GID -q 運行時不顯示不論什么信息 -v 運行是時顯示具體的信息 -c 將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換 -p 與-c 參數相似,會將解壓縮的結果顯示到屏幕上,但不會運行不論什么的轉換 -a 對文本文件進行必要的字符轉換 -b 不要對文本文件進行字符轉換 -x <表達式> 處理里排除壓縮包中的指定文件 -M 將輸出結果送到 more 程序處理
10.zip
加密
使用方式: zip -q -r d.zip folder/file
-A 調整可運行的自己主動解壓縮文件。 -b <工作文件夾> 指定臨時存放文件的文件夾。-c 替每一個被壓縮的文件加上凝視。 -d 從壓縮文件內刪除指定的文件。 -D 壓縮文件內不建立文件夾名稱。 -f 此參數的效果和指定"-u"參數相似,但不僅更新既有文件,假設某些文件原本不存在于壓縮文件內,使用本參數會一并將其增加壓縮文件里。 -F 嘗試修復已損壞的壓縮文件。 -g 將文件壓縮后附加在既有的壓縮文件之后。而非另行建立新的壓縮文件。 -h 在線幫助。 -i <范本樣式> 僅僅壓縮符合條件的文件。 -j 僅僅保存文件名稱稱及其內容,而不存放不論什么文件夾名稱。
-J 刪除壓縮文件前面不必要的數據。
-k 使用MS-DOS兼容格式的文件名稱稱。
-l 壓縮文件時,把LF字符置換成LF+CR字符。 -ll 壓縮文件時,把LF+CR字符置換成LF字符。
-L 顯示版權信息。
-m 將文件壓縮并增加壓縮文件后,刪除原始文件,即把文件移到壓縮文件里。 -n <字尾字符串> 不壓縮具有特定字尾字符串的文件。 -o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件同樣。 -q 不顯示指令運行過程。
-r 遞歸處理。將指定文件夾下的全部文件和子文件夾一并處理。 -S 包括系統和隱藏文件。 -t <日期時間> 把壓縮文件的日期設成指定的日期。 -T 檢查備份文件內的每一個文件是否正確無誤。 -u 更換較新的文件到壓縮文件內。 -v 顯示指令運行過程或顯示版本號信息。 -V 保存VMS操作系統的文件屬性。
-w 在文件名稱稱里假如版本號編號,本參數僅在VMS操作系統下有效。
-x <范本樣式> 壓縮時排除符合條件的文件。 -X 不保存額外的文件屬性。
-y 直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。 -z 替壓縮文件加上凝視。
-$ 保存第一個被壓縮文件所在磁盤的卷冊名稱。 -<壓縮效率> 壓縮效率是一個介于1-9的數值。
11. find
查找文件及文件夾
使用方式: find path -mtime 3 -type f -exec ls -lt {} ;
-atime N 最后訪問時間在N天前
-mtime N 最后更新時間在N天前
-name name 名稱包括
-user user 用戶名包括
-newer otherfile 比某個文件新
-type 類型 f:文件 d:文件夾
! not
-a and
-o or
-print 打印文件名稱
-mount 不搜索其它問題系統的文件夾
-maxdepth N 最多搜尋文件夾的層數
-mindepth N 從N層開始搜尋
-depth 查看文件夾本身之前先搜尋文件夾的內容
-empty 文件或文件夾為空
-exec command {} ; 運行命令
-ok command {} ; 運行命令,每次運行須要用戶確認
12. grep
匹配
使用方式: grep -c "string" file1 file2
-c 僅僅顯示匹配的行數 -i 不區分大寫和小寫 -l 僅僅顯示文件名稱 -h 不顯示前綴文件名稱 -v 顯示不匹配的行數 -E 擴展模式(使用正則) -n 顯示匹配的行在文件里的行數 -x 僅僅打印整行匹配的行 -Ax 顯示匹配行后x行 -By 顯示匹配行前y行 -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
-r 拷貝文件夾及全部子文件夾子文件(遍歷)
14. df du
df 查看文件系統容量
du 查看文件夾及文件容量
使用方式:
du -h --max-depth=1 folder
df -h
-h 以可讀性較好的方式顯示尺寸(比如:1K 234M 2G) --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,至于使用硬連結或軟鏈結則由參數決定。
不論是硬連結或軟鏈結都不會將原本的檔案復制一份,僅僅會占用非常少量的磁碟空間。
-f : 鏈結時先將與 dist 同檔名的檔案刪除 -d : 同意系統管理者硬鏈結自己的文件夾 -i : 在刪除與 dist 同檔名的檔案時先進行詢問 -n : 在進行軟連結時,將 dist 視為一般的檔案 -s : 進行軟鏈結(symbolic link) -v : 在連結之前顯示其檔名 -b : 將在鏈結時會被覆寫或刪除的檔案進行備份 -S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾 -V METHOD : 指定備份的方式 --help : 顯示輔助說明 --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:建立資料庫
-u -U 建立資料庫,-u 會由根文件夾開始,-U 則能夠指定開始的位置。-e 將排除在尋找的范圍之外。 -l 假設 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,由于 locate 必須至實際的檔案系統中取得檔案的權限資料。 -f 將特定的檔案系統排除在外,比如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。 -q 安靜模式,不會顯示不論什么錯誤訊息。 -n 至多顯示n個輸出。 -r 使用正規運算式 做尋找的條件。 -o 指定資料庫存的名稱。 -d 指定資料庫的路徑 -h 顯示輔助訊息 -v 顯示很多其它的訊息 -V 顯示程式的版本號訊息
17. wc
使用方式:wc [option] file1 file2
wc -l file
能夠組合使用 wc -lcw file1 file2
- c 統計字節數 - l 統計行數 - w 統計字數
18. wget
使用方式:wget [options] [URL]
wget -O test.zip http://www.fdipzone.com/test.zip
啟動: -V, --version 顯示wget的版本號后退出 -h, --help 打印語法幫助 -b, --background 啟動后轉入后臺運行 -e, --execute=COMMAND 運行`.wgetrc'格式的命令,wgetrc格式參見/etc/wgetrc或~/.wgetrc wget默認會根據站點的robots.txt進行操作 使用-e robots=off參數就可以繞過該限制 記錄和輸入文件: -o, --output-file=FILE 把記錄寫到FILE文件里 -a, --append-output=FILE 把記錄追加到FILE文件里 -d, --debug 打印調試輸出 -q, --quiet 安靜模式(沒有輸出) -v, --verbose 冗長模式(這是缺省設置) -nv, --non-verbose 關掉冗長模式,但不是安靜模式 -i, --input-file=FILE 下載在FILE文件里出現的URLs -F, --force-html 把輸入文件當作HTML格式文件對待 -B, --base=URL 將URL作為在-F -i參數指定的文件里出現的相對鏈接的前綴 --sslcertfile=FILE 可選client證書 --sslcertkey=KEYFILE 可選client證書的KEYFILE --egd-file=FILE 指定EGD socket的文件名稱 下載: --bind-address=ADDRESS 指定本地使用地址(主機名或IP,當本地有多個IP或名字時使用) -t, --tries=NUMBER 設定最大嘗試鏈接次數(0 表示無限制). -O --output-document=FILE 把文檔寫到FILE文件里 -nc, --no-clobber 不要覆蓋存在的文件或使用.#前綴 -c, --continue 接著下載沒下載完的文件 --progress=TYPE 設定進程條標記 -N, --timestamping 不要又一次下載文件除非比本地文件新 -S, --server-response 打印server的回應 --spider 不下載不論什么東西 -T, --timeout=SECONDS 設定響應超時的秒數 -w, --wait=SECONDS 兩次嘗試之間間隔SECONDS秒 --waitretry=SECONDS 在又一次鏈接之間等待1...SECONDS秒 --random-wait 在下載之間等待0...2*WAIT秒 -Y, --proxy=on/off 打開或關閉代理 -Q, --quota=NUMBER 設置下載的容量限制 --limit-rate=RATE 限定下載輸率 文件夾: -nd --no-directories 不創建文件夾 -x, --force-directories 強制創建文件夾 -nH, --no-host-directories 不創建主機文件夾 -P, --directory-prefix=PREFIX 將文件保存到文件夾 PREFIX/... --cut-dirs=NUMBER 忽略 NUMBER層遠程文件夾 HTTP 選項: --http-user=USER 設定HTTP用戶名為 USER. --http-passwd=PASS 設定httppassword為 PASS. -C, --cache=on/off 同意/不同意server端的數據緩存 (普通情況下同意). -E, --html-extension 將全部text/html文檔以.html擴展名保存 --ignore-length 忽略 `Content-Length'頭域 --header=STRING 在headers中插入字符串 STRING --proxy-user=USER 設定代理的用戶名為 USER --proxy-passwd=PASS 設定代理的password為 PASS --referer=URL 在HTTP請求中包括 `Referer: URL'頭 -s, --save-headers 保存HTTP頭到文件 -U, --user-agent=AGENT 設定代理的名稱為 AGENT而不是 Wget/VERSION. --no-http-keep-alive 關閉 HTTP活動鏈接 (永遠鏈接). --cookies=off 不使用 cookies. --load-cookies=FILE 在開始會話前從文件 FILE中載入cookie --save-cookies=FILE 在會話結束后將 cookies保存到 FILE文件里 FTP 選項: -nr, --dont-remove-listing 不移走 `.listing'文件 -g, --glob=on/off 打開或關閉文件名稱的 globbing機制 --passive-ftp 使用被動傳輸模式 (缺省值). --active-ftp 使用主動傳輸模式 --retr-symlinks 在遞歸的時候。將鏈接指向文件(而不是文件夾) 遞歸下載: -r, --recursive 遞歸下載--慎用! -l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無窮). --delete-after 在如今完成后局部刪除文件 -k, --convert-links 轉換非相對鏈接為相對鏈接 -K, --backup-converted 在轉換文件X之前。將之備份為 X.orig -m, --mirror 等價于 -r -N -l inf -nr. -p, --page-requisites 下載顯示HTML文件的全部圖片 遞歸下載中的包括和不包括(accept/reject): -A, --accept=LIST 分號分隔的被接受擴展名的列表 -R, --reject=LIST 分號分隔的不被接受的擴展名的列表 -D, --domains=LIST 分號分隔的被接受域的列表 --exclude-domains=LIST 分號分隔的不被接受的域的列表 --follow-ftp 跟蹤HTML文檔中的FTP鏈接 --follow-tags=LIST 分號分隔的被跟蹤的HTML標簽的列表 -G, --ignore-tags=LIST 分號分隔的被忽略的HTML標簽的列表 -H, --span-hosts 當遞歸時轉到外部主機 -L, --relative 僅僅跟蹤相對鏈接 -I, --include-directories=LIST 同意文件夾的列表 -X, --exclude-directories=LIST 不被包括文件夾的列表 -np, --no-parent 不要追溯到父文件夾
19.tar
使用方式:tar [-cxtzjvfpPN] 文件與文件夾
tar -xzvf test.tar.gz
-c :建立一個壓縮文件的參數指令(create 的意思); -x :解開一個壓縮文件的參數指令! -t :查看 tarfile 里面的文件!特別注意,在參數的下達中。 c/x/t 僅能存在一個。不可同一時候存在! 由于不可能同一時候壓縮與解壓縮。
-z :是否同一時候具有 gzip 的屬性?亦即是否須要用 gzip 壓縮? -j :是否同一時候具有 bzip2 的屬性?亦即是否須要用 bzip2 壓縮? -v :壓縮的過程中顯示文件!
這個經常使用,但不建議用在背景運行過程! -f :使用檔名。請留意,在 f 之后要馬上接檔名喔!不要再加參數。 比如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成 『 tar -zcvPf tfile sfile』才對 -p :使用原文件的原來屬性(屬性不會根據使用者而變) -P :能夠使用絕對路徑來壓縮。 -N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件里! --exclude FILE:在壓縮的過程中。不要將 FILE 打包!
20.tail
使用方式:tail [-fqvcn] 文件
tail -f test.log
-f 循環讀取 -q 不顯示處理信息 -v 顯示具體的處理信息 -c<數目> 顯示的字節數 -n<行數> 顯示行數 --pid=PID 與-f合用,表示在進程ID,PID死掉之后結束. -q, --quiet, --silent 從不輸出給出文件名稱的首部 -s, --sleep-interval=S 與-f合用,表示在每次重復的間隔休眠S秒
注意 -f 是 --follow[=HOW]的縮寫,能夠一直讀文件末尾的字符并打印出來。
[=HOW]有兩個寫法,=descriptor 和 =name 默認使用descriptor,假設你跟蹤的文件被移動或者改名后,還想繼續tail,能夠使用這個選項。
但假設在tail 一個log文件時,這個文件非??赡苁潜粍h除或被覆蓋,文件覆蓋后,tail -f命令就會失效,這樣的情況須要使用tail -F命令
-F 是 --follow=name -retry的縮寫,--follow=name是按文件名稱跟蹤文件。能夠定期去又一次打開文件檢查文件是否被其它程序刪除并又一次建立,-retry這個參數,保證文件又一次建立后,能夠繼續被跟蹤。
--follow=descriptor 樣例
1.sh
#!/bin/bash
while :
do
echo $(date +%Y-%m-%d' '%H:%M:%S) >> '1.log'
sleep 1
done
exit 0
2.sh
#!/bin/bash
while :
do
echo $(date +%Y-%m-%d' '%H:%M:%S) >> '2.log'
sleep 1
done
exit 0
1.在窗體1 運行 ./1.sh
2.在窗體2 運行 tail -f 1.log。這時會看到有輸出
3.中止1.sh
4.運行mv 1.log 2.log 改名
5.運行 ./2.sh 這時會看到窗體2的tail會輸出2.log的內容。
--follow=name 樣例
1.在窗體1運行./1.sh
2.在窗體2運行 tail -f 1.log,這時會看到有輸出
3.運行rm 1.log ,這時tail不再輸出不論什么內容
而使用 tail -F 1.log。則在運行rm 1.log 之后,當1.log創建時。tail會繼續輸出1.log的內容。由于 ./1.sh是循環運行,當1.log不存在時會創建
21. shuf
作用:把輸入行按隨機順序輸出到標準輸出。
使用方式:
shuf [選項] ... [文件] shuf -e [選項]... [參數]... shuf -i LO-HI [選項]...
主要參數:
-e, --echo 將每一個參數視為輸入行
-i, --input-range=LO-HI 將LO 到HI 的每一個數字視為輸入行
-n, --head-count=行數 最多輸出指定的行數
-o, --output=文件 將結果輸出到指定文件而非標準輸出
--random-source=文件 從指定文件獲得隨機比特
-z, --zero-terminated 以0 結束行而非新行
--help 顯示此幫助信息并退出
--version 顯示版本號信息并退出
樣例:
1.將test.txt按隨機順序輸出到標準輸出
shuf test.txt
2.從test.txt中隨機取出一行
shuf -n 1 test.txt
3.將test.txt按隨機順序輸出到test1.txt
shuf test.txt -o test1.txt
22.command -v
輸入命令路徑位置
$ command -v ls /bin/ls
whereis ls
$ whereis ls /bin/ls
總結
以上是生活随笔為你收集整理的Linux_经常使用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP UI5 初学者教程之十 - 什么
- 下一篇: 安装Pytorch-gpu版本(第一次安