運維工程師必會的109個Linux命令(1)

點擊鏈接加入QQ群 522720170(免費公開課、視頻應有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe

1?文件管理

1.1?basename

1.1.1?功能說明

從文件名中去掉路徑和擴展名

例:basename include/stdio.h .h

Output "stdio".

1.1.2?選項

--help 顯示此幫助信息并離開

--version 顯示版本信息并離開

1.2?cat

1.2.1?功能說明

把檔案串連接后傳到基本輸出(屏幕或加?> filename?到另一個檔案)

1.2.2?語  法

cat [-AbeEnstTuv] [--help] [--version] filename

1.2.3?參數

-n 或 --number 由 1 開始對所有輸出的行數編號

-b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行

-v 或 --show-nonprinting

范例:

cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號后輸入 textfile2 這個檔案里

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之后將內容附加到 textfile3 里。

性能測試5月27號開課,已經有不少小伙伴報名了(今年只開1次,錯過要等明年)

介紹見:http://www.xqtesting.com/blog/performance-testing-19.html

感興趣可咨詢QQ:2083503238,如有打擾請見諒

1.3?cd

1.3.1?功能說明

切換目錄。

1.3.2?語法

cd [目的目錄]

1.3.3?補充說明

cd指令可讓用戶在不同的目錄間切換,但該用戶必須擁有足夠的權限進入目的目錄。

1.4?chgrp

1.4.1?功能說明

變更文件或目錄的所屬群組。

法:

chgrp [-cfhRv][--help][--version][所屬群組][文件或目錄...]

或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]

1.4.2?補充說明

在UNIX系統家族里,文件或目錄權限的掌控以擁有者及所屬群組來管理。您可以使用chgrp指令去變更文件與目錄的所屬群組,設置方式采用群組名稱或群組識別碼皆可。

1.4.3?參數

 -c或--changes 效果類似"-v"參數,但僅回報更改的部分。

 -f或--quiet或--silent  不顯示錯誤信息。

 -h或--no-dereference  只對符號連接的文件作修改,而不更動其他任何相關文件。

 -R或--recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

 -v或--verbose  顯示指令執行過程。

 --help  在線幫助。

 --reference=<參考文件或目錄>  把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。

 --version  顯示版本信息。

1.5?chmod

1.5.1?功能說明

變更文件或目錄的權限。

語法:

chmod [-cfRv][--help][--version][<權限范圍>+/-/=<權限設置...>][文件或目錄...]

或 chmod [-cfRv][--help][--version][數字代號][文件或目錄...]

或 chmod [-cfRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]

1.5.2?補充說明

在UNIX系統家族里,文件或目錄權限的控制分別以讀取,寫入,執行3種一般權限來區分,另有3種特殊權限可供運用,再搭配擁有者與所屬群組管理權限范圍。您可以使用chmod指令去變更文件與目錄的權限,設置方式采用文字或數字代號皆可。符號連接的權限無法變更,如果您對符號連接修改權限,其改變會作用在被連接的原始文件。權限范圍的表示法如下:

 u:User,即文件或目錄的擁有者。

 g:Group,即文件或目錄的所屬群組。

 o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍。

 a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。

 有關權限代號的部分,列表于下:

 r:讀取權限,數字代號為"4"。

 w:寫入權限,數字代號為"2"。

 x:執行或切換權限,數字代號為"1"。

 -:不具任何權限,數字代號為"0"。

1.5.3?參數

 -c或--changes  效果類似"-v"參數,但僅回報更改的部分。

 -f或--quiet或--silent  不顯示錯誤信息。

 -R或--recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

 -v或--verbose  顯示指令執行過程。

 --help  在線幫助。

 --reference=<參考文件或目錄>  把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同

 --version  顯示版本信息。

 <權限范圍>+<權限設置>  開啟權限范圍的文件或目錄的該項權限設置。

 <權限范圍>-<權限設置>  關閉權限范圍的文件或目錄的該項權限設置。

 <權限范圍>=<權限設置>  指定權限范圍的文件或目錄的該項權限設置。

1.6?chown

1.6.1?功能說明

變更文件或目錄的擁有者或所屬群組。

1.6.2?語法

chown [-cfhRv][--dereference][--help][--version][擁有者.<所屬群組>][文件或目錄..]

或chown [-chfRv][--dereference][--help][--version][.所屬群組][文件或目錄... ...]

或chown [-cfhRv][--dereference][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]

1.6.3?補充說明

在UNIX系統家族里,文件或目錄權限的掌控以擁有者及所屬群組來管理。您可以使用chown指令去變更文件與目錄的擁有者或所屬群組,設置方式采用用戶名稱或用戶識別碼皆可,設置群組則用群組名稱或群組識別碼。

1.6.4?參數

 -c或--changes  效果類似"-v"參數,但僅回報更改的部分。

 -f或--quite或--silent  不顯示錯誤信息。

 -h或--no-dereference  之對符號連接的文件作修改,而不更動其他任何相關文件。

 -R或--recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

 -v或--version  顯示指令執行過程。

 --dereference  效果和"-h"參數相同。

 --help  在線幫助。

 --reference=<參考文件或目錄>  把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目 錄的擁有者與所屬群組相同。

 --version  顯示版本信息。

1.7?comm

1.7.1?功能說明

比較兩個已排過序的文件。

1.7.2?語法

comm [-123][--help][--version][第1個文件][第2個文件]

1.7.3?補充說明

這項指令會一列列地比較兩個已排序文件的差異,并將其結果顯示出來,如果沒有指定任何參數,則會把結果分成3行顯示:第1行僅是在第1個文件中出現過的列,第2行是僅在第2個文件中出現過的列,第3行則是在第1與第2個文件里都出現過的列。若給予的文件名稱為"-",則comm指令會從標準輸入設備讀取數據。

1.7.4?參數

-1 不顯示只在第1個文件里出現過的列。

-2 不顯示只在第2個文件里出現過的列。

-3 不顯示只在第1和第2個文件里出現過的列。

--help 在線幫助。

--version 顯示版本信息。

1.8?cp

1.8.1?功能說明

復制文件或目錄。

1.8.2?語法

cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][--help][--spares=<使用時機>][--version][源文件或目錄][目標文件或目錄] [目的目錄]

1.8.3?補充說明

cp指令用在復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最后的目的地并非是一個已存在的目錄,則會出現錯誤信息。

1.8.4?參數

 -a或--archive  此參數的效果和同時指定"-dpR"參數相同。

 -b或--backup  刪除,覆蓋目標文件之前的備份,備份文件會在字尾加上一個備份字符串。

 -d或--no-dereference  當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄。

 -f或--force  強行復制文件或目錄,不論目標文件或目錄是否已存在。

 -i或--interactive  覆蓋既有文件之前先詢問用戶。

 -l或--link  對源文件建立硬連接,而非復制文件。

 -p或--preserve  保留源文件或目錄的屬性。

 -P或--parents  保留源文件或目錄的路徑。

 -r  遞歸處理,將指定目錄下的文件與子目錄一并處理。

 -R或--recursive  遞歸處理,將指定目錄下的所有文件與子目錄一并處理。

 -s或--symbolic-link  對源文件建立符號連接,而非復制文件。

 -S<備份字尾字符串>或--suffix=<備份字尾字符串>  用"-b"參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,預設的備份字尾字符串是符號"~"。

 -u或--update  使用這項參數后只會在源文件的更改時間較目標文件更新時或是 名稱相互對應的目標文件并不存在,才復制文件。

 -v或--verbose  顯示指令執行過程。

 -V<備份方式>或--version-control=<備份方式>  用"-b"參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,這字符串不僅可用"-S"參數變更,當使用"-V"參數指定不同備份方式時,也會產生不同字尾的備份字串。

 -x或--one-file-system  復制的文件或目錄存放的文件系統,必須與cp指令執行時所處的文件系統相同,否則不予復制。

 --help  在線幫助。

 --sparse=<使用時機>  設置保存稀疏文件的時機。

 --version  顯示版本信息。

1.9?cut

1.9.1?功能說明

顯示每行從開頭算起 num1 到 num2 的文字。

1.9.2?

cut -cnum1-num2 filename

1.9.3?

shell>> cat example

test2

this is test1

shell>> cut -c0-6 example ## print 開頭算起前 6 個字元

test2

this i

1.10?dd

1.10.1?功能說明

讀取,轉換并輸出數據。

1.10.2?語法

dd [bs=<字節數>][cbs=<字節數>][conv=<關鍵字>][count=<區塊數>][ibs=<字節數>][if=<文件>][obs=<字節數>][of=<文件>][seek=<區塊數>][skip=<區塊數>][--help][--version]

1.10.3?補充說明

dd可從標準輸入或文件讀取數據,依指定的格式來轉換數據,再輸出到文件,設備或標準輸出。

1.10.4?參數

bs=<字節數> 將ibs( 輸入)與obs(輸出)設成指定的字節數。

cbs=<字節數> 轉換時,每次只轉換指定的字節數。

conv=<關鍵字> 指定文件轉換的方式。

count=<區塊數> 僅讀取指定的區塊數。

ibs=<字節數> 每次讀取的字節數。

if=<文件> 從文件讀取。

obs=<字節數> 每次輸出的字節數。

of=<文件> 輸出到文件。

seek=<區塊數> 一開始輸出時,跳過指定的區塊數。

skip=<區塊數> 一開始讀取時,跳過指定的區塊數。

--help 幫助。

--version 顯示版本信息。

1.11?diff

1.11.1?功能說明

比較文件的差異。

1.11.2?語法

diff [-abBcdefHilnNpPqrstTuvwy][-<行數>][-C <行數>][-D <巨集名稱>][-I <字符或字符串>][-S <文件>][-W <寬度>][-x <文件或目錄>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目錄1][文件或目錄2]

1.11.3?補充說明

diff以逐行的方式,比較文本文件的異同處。所是指定要比較目錄,則diff會比較目錄中相同文件名的文件,但不會比較其中子目錄。

1.11.4?參數

 -<行數>  指定要顯示多少行的文本。此參數必須與-c或-u參數一并使用。

 -a或--text  diff預設只會逐行比較文本文件。

 -b或--ignore-space-change  不檢查空格字符的不同。

 -B或--ignore-blank-lines  不檢查空白行。

 -c  顯示全部內文,并標出不同之處。

 -C<行數>或--context<行數>  與執行"-c-<行數>"指令相同。

 -d或--minimal  使用不同的演算法,以較小的單位來做比較。

 -D<巨集名稱>或ifdef<巨集名稱>  此參數的輸出格式可用于前置處理器巨集。

 -e或--ed  此參數的輸出格式可用于ed的script文件。

 -f或-forward-ed  輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處。

 -H或--speed-large-files  比較大文件時,可加快速度。

 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若兩個文件在某幾行有所不同,而這幾行同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異。

 -i或--ignore-case  不檢查大小寫的不同。

 -l或--paginate  將結果交由pr程序來分頁。

 -n或--rcs  將比較結果以RCS的格式來顯示。

 -N或--new-file  在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:

Only in目錄:文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。

 -p  若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱。

 -P或--unidirectional-new-file  與-N類似,但只有當第二個目錄包含了一個第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較。

 -q或--brief  僅顯示有無差異,不顯示詳細的信息。

 -r或--recursive  比較子目錄中的文件。

 -s或--report-identical-files  若沒有發現任何差異,仍然顯示信息。

 -S<文件>或--starting-file<文件>  在比較目錄時,從指定的文件開始比較。

 -t或--expand-tabs  在輸出時,將tab字符展開。

 -T或--initial-tab  在每行前面加上tab字符以便對齊。

 -u,-U<列數>或--unified=<列數>  以合并的方式來顯示文件內容的不同。

 -v或--version  顯示版本信息。

 -w或--ignore-all-space  忽略全部的空格字符。

 -W<寬度>或--width<寬度>  在使用-y參數時,指定欄寬。

 -x<文件名或目錄>或--exclude<文件名或目錄>  不比較選項中所指定的文件或目錄。

 -X<文件>或--exclude-from<文件>  您可以將文件或目錄類型存成文本文件,然后在=<文件>中指定此文本文件。

 -y或--side-by-side  以并列的方式顯示文件的異同之處。

 --help  顯示幫助。

 --left-column  在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容。

 --suppress-common-lines  在使用-y參數時,僅顯示不同之處。

1.12?dir

1.12.1?功能說明

列出<文件>的信息 (默認為目前的目錄)。

1.12.2?語法

dir [選項]... [文件]...

1.12.3?參數

如果不指定 - cftuSUX 或 --sort 任何一個選項,則根據字母大小排序。

-a, --a--ll 不隱藏任何以 . 字符開始的項目

-A, --almost-all 列出除了 . 及 .. 以外的任何項目

--author 印出每個文件著作者

-b, --escape 以八進制溢出序列表示不可打印的字符

--block-size=大小 塊以指定<大小>的字節為單位

-B, --ignore-backups 不列出任何以 ~ 字符結束的項目

-c 配合 -lt:根據 ctime 排序及顯示 ctime (文件

狀態最后更改的時間)

配合 -l:顯示 ctime 但根據名稱排序

否則:根據 ctime 排序

-C 按列列舉。

-f 不進行排序,-aU 選項生效,-lst 選項失效

-F, --classify 加上文件類型的指示符號 (*/=@| 其中一個)

-i, --inode 印出每個文件的 inode 號

-I, --ignore=樣式 不印出任何符合 shell 萬用字符<樣式>的項目

-k 即 --block-size=1K

-l 使用較長格式列出信息

-L, --dereference 當顯示符號鏈接的文件信息時,顯示符號鏈接所指示

的對象而并非符號鏈接本身的信息

-m 所有項目以逗號分隔,并填滿整行行寬

-n, --numeric-uid-gid 類似 -l,但列出 UID 及 GID 號

-N, --literal 印出未經處理的項目名稱 (例如不特別處理控制字符)

-o 類似 -l,但不列出有關組的信息

-p, --file-type 加上文件類型的指示符號 (/=@| 其中一個)

-q, --hide-control-chars 以 ? 字符代替無法打印的字符

--show-control-chars 直接顯示無法打印的字符 (這是默認方式,除非調用

的程序名稱是‘ls’而且是在終端機畫面輸出結果)

-Q, --quote-name 將項目名稱括上雙引號

--quoting-style=方式 使用指定的 quoting <方式>顯示項目的名稱:

literal、locale、shell、shell-always、c、escape

-r, --reverse 依相反次序排列

-R, --recursive 同時列出所有子目錄層

-s, --size 以塊大小為單位列出所有文件的大小

-S 按文件大小排序。

-t 按修改時間排序

-u 配合 -lt:顯示訪問時間而且依訪問時間排序

配合 -l:顯示訪問時間但根據名稱排序

否則:根據訪問時間排序

-U 不進行排序;依文件系統原有的次序列出項目

-v 根據版本進行排序

-w, --width=COLS 自行指定螢幕寬度而不使用目前的數值

-x 逐行列出項目而不是逐欄列出

-X 根據擴展名排序

-1 每行只列出一個文件

--help 顯示此幫助信息并離開

--version 顯示版本信息并離開

1.13?dos2unix

1.13.1?功能說明

將一個DOS格式的文件轉換為UNIX格式的文件。主要差別在換行符。

語法:

dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]

參數:

-h --help 幫助

-k --keepdate 保留文件輸出日期

-q --quiet 安靜模式,屏蔽所有警告。

-V --version 顯示版本。

-c --convmode 轉換模式,可以是ASCII, 7bit, ISO, Mac, 默認為 ASCII

-l --newline 增加一行。

-o --oldfile 寫到原始文件中

file ... 轉換為舊文件的模式

-n --newfile 寫入新文件

infile 輸入文件名

outfile 輸出文件名

1.14?egrep

1.14.1?功能說明

在文件內查找指定的字符串。

egrep執行效果如grep -E,使用的語法及參數可參照grep指令,與grep不同點在于解讀字符串的方法,egrep是用extended regular expression語法來解讀,而grep則用basic regular expression語法,extended regular expression比basic regular expression有更完整的表達規范。

1.15?fgrep

1.15.1?功能說明

查找文件里符合條件的字符串。本指令相當于執行grep指令加上參數"-F",詳見grep指令說明。

1.15.2?語法

fgrep [范本樣式][文件或目錄...]

1.16?file

1.16.1?功能說明

辨識文件類型。

1.16.2?語法

file [-beLvz][-f <名稱文件>][-m <魔法數字文件>...][文件或目錄...]

1.16.3?補充說明

通過file指令,我們得以辨識該文件的類型。

1.16.4?參數

 -b  列出辨識結果時,不顯示文件名稱。

 -c  詳細顯示指令執行過程,便于排錯或分析程序執行的情形。

 -f<名稱文件>  指定名稱文件,其內容有一個或多個文件名稱呢感,讓file依序辨識這些文件,格式為每列一個文件名稱。

 -L  直接顯示符號連接所指向的文件的類別。

 -m<魔法數字文件>  指定魔法數字文件。

 -v  顯示版本信息。

 -z  嘗試去解讀壓縮文件的內容。

1.17?find

1.17.1?功能說明

查找文件或目錄。

1.17.2?語法

find [目錄...][-amin <分鐘>][-anewer <參考文件或目錄>][-atime <24小時數>][-cmin <分鐘>]

[-cnewer <參考文件或目錄>][-ctime <24小時數>][-daystart][-depyh][-empty][-exec <執行指令>]

[-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>]

[-fprintf <列表文件><輸出格式>][-fstype <文件系統類型>][-gid <群組識別碼>]

[-group <群組名稱>][-help][-ilname <范本樣式>][-iname <范本樣式>]

[-inum ][-ipath <范本樣式>][-iregex <范本樣式>][-links <連接數目>]

[-lname <范本樣式>][-ls][-maxdepth <目錄層級>][-mindepth <目錄層級>][-mmin <分鐘>][-mount]

[-mtime <24小時數>][-name <范本樣式>][-newer <參考文件或目錄>]

[-nogroup][noleaf] [-nouser][-ok <執行指令>][-path <范本樣式>][-perm <權限數值>]

[-print][-print0][-printf <輸出格式>][-prune][-regex <范本樣式>][-size <文件大小>]

[-true][-type <文件類型>][-uid <用戶識別碼>][-used <日數>][-user <擁有者名稱>]

[-version][-xdev][-xtype <文件類型>]

1.17.3?補充說明

find指令用于查找符合條件的文件。任何位于參數之前的字符串都將被視為欲查找的目錄。

1.17.4?參數

 -amin<分鐘>  查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算。

 -anewer<參考文件或目錄>  查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄。

 -atime<24小時數>  查找在指定時間曾被存取過的文件或目錄,單位以24小時計算。

 -cmin<分鐘>  查找在指定時間之時被更改的文件或目錄。

 -cnewer<參考文件或目錄>  查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄。

 -ctime<24小時數>  查找在指定時間之時被更改的文件或目錄,單位以24小時計算。

 -daystart  從本日開始計算時間。

 -depth  從指定目錄下最深層的子目錄開始查找。

 -expty  尋找文件大小為0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄。

 -exec<執行指令>  假設find指令的回傳值為True,就執行該指令。

 -false  將find指令的回傳值皆設為False。

 -fls<列表文件>  此參數的效果和指定"-ls"參數類似,但會把結果保存為指定的列表文件。

 -follow  排除符號連接。

 -fprint<列表文件>  此參數的效果和指定"-print"參數類似,但會把結果保存成指定的列表文件。

 -fprint0<列表文件>  此參數的效果和指定"-print0"參數類似,但會把結果保存成指定的列表文件。

 -fprintf<列表文件><輸出格式>  此參數的效果和指定"-printf"參數類似,但會把結果保存成指定的列表文件。

 -fstype<文件系統類型>  只尋找該文件系統類型下的文件或目錄。

 -gid<群組識別碼>  查找符合指定之群組識別碼的文件或目錄。

 -group<群組名稱>  查找符合指定之群組名稱的文件或目錄。

 -help或--help  在線幫助。

 -ilname<范本樣式>  此參數的效果和指定"-lname"參數類似,但忽略字符大小寫的差別。

 -iname<范本樣式>  此參數的效果和指定"-name"參數類似,但忽略字符大小寫的差別。

 -inum  查找符合指定的inode編號的文件或目錄。

 -ipath<范本樣式>  此參數的效果和指定"-ipath"參數類似,但忽略字符大小寫的差別。

 -iregex<范本樣式>  此參數的效果和指定"-regexe"參數類似,但忽略字符大小寫的差別。

 -links<連接數目>  查找符合指定的硬連接數目的文件或目錄。

 -iname<范本樣式>  指定字符串作為尋找符號連接的范本樣式。

 -ls  假設find指令的回傳值為True,就將文件或目錄名稱列出到標準輸出。

 -maxdepth<目錄層級>  設置最大目錄層級。

 -mindepth<目錄層級>  設置最小目錄層級。

 -mmin<分鐘>  查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算。

 -mount  此參數的效果和指定"-xdev"相同。

 -mtime<24小時數>  查找在指定時間曾被更改過的文件或目錄,單位以24小時計算。

 -name<范本樣式>  指定字符串作為尋找文件或目錄的范本樣式。

 -newer<參考文件或目錄>  查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄。

 -nogroup  找出不屬于本地主機群組識別碼的文件或目錄。

 -noleaf  不去考慮目錄至少需擁有兩個硬連接存在。

 -nouser  找出不屬于本地主機用戶識別碼的文件或目錄。

 -ok<執行指令>  此參數的效果和指定"-exec"參數類似,但在執行指令之前會先詢問用戶,若回答"y"或"Y",則放棄執行指令。

 -path<范本樣式>  指定字符串作為尋找目錄的范本樣式。

 -perm<權限數值>  查找符合指定的權限數值的文件或目錄。

 -print  假設find指令的回傳值為True,就將文件或目錄名稱列出到標準輸出。格式為每列一個名稱,每個名稱之前皆有"./"字符串。

 -print0  假設find指令的回傳值為True,就將文件或目錄名稱列出到標準輸出。格式為全部的名稱皆在同一行。

 -printf<輸出格式>  假設find指令的回傳值為True,就將文件或目錄名稱列出到標準輸出。格式可以自行指定。

 -prune  不尋找字符串作為尋找文件或目錄的范本樣式。

 -regex<范本樣式>  指定字符串作為尋找文件或目錄的范本樣式。

 -size<文件大小>  查找符合指定的文件大小的文件。

 -true  將find指令的回傳值皆設為True。

 -typ<文件類型>  只尋找符合指定的文件類型的文件。

 -uid<用戶識別碼>  查找符合指定的用戶識別碼的文件或目錄。

 -used<日數>  查找文件或目錄被更改之后在指定時間曾被存取過的文件或目錄,單位以日計算。

 -user<擁有者名稱>  查找符合指定的擁有者名稱的文件或目錄。

 -version或--version  顯示版本信息。

 -xdev  將范圍局限在先行的文件系統中。

 -xtype<文件類型>  此參數的效果和指定"-type"參數類似,差別在于它針對符號連接檢查。

1.18?grep

1.18.1?功能說明

查找文件里符合條件的字符串。

1.18.2?語法

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][--help][范本樣式][文件或目錄...]

1.18.3?補充說明

grep指令用于查找內容包含指定的范本樣式的文件,如果發現某文件的內容符合所指定的范本樣式,預設grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為“-”,則grep指令會從標準輸入設備讀取數據。

1.18.4?參數

-a或--text 不要忽略二進制的數據。

-A<顯示列數>或--after-context=<顯示列數> 除了顯示符合范本樣式的那一列之外,并顯示該列之后的內容。

-b或--byte-offset 在顯示符合范本樣式的那一列之前,標示出該列第一個字符的位編號。

-B<顯示列數>或--before-context=<顯示列數> 除了顯示符合范本樣式的那一列之外,并顯示該列之前的內容。

-c或--count 計算符合范本樣式的列數。

-C<顯示列數>或--context=<顯示列數>或-<顯示列數> 除了顯示符合范本樣式的那一列之外,并顯示該列之前后的內容。

-d<進行動作>或--directories=<進行動作> 當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息并停止動作。

-e<范本樣式>或--regexp=<范本樣式> 指定字符串做為查找文件內容的范本樣式。

-E或--extended-regexp 將范本樣式為延伸的普通表示法來使用。

-f<范本文件>或--file=<范本文件> 指定范本文件,其內容含有一個或多個范本樣式,讓grep查找符合范本條件的文件內容,格式為每列一個范本樣式。

-F或--fixed-regexp 將范本樣式視為固定字符串的列表。

-G或--basic-regexp 將范本樣式視為普通的表示法來使用。

-h或--no-filename 在顯示符合范本樣式的那一列之前,不標示該列所屬的文件名稱。

-H或--with-filename 在顯示符合范本樣式的那一列之前,表示該列所屬的文件名稱。

-i或--ignore-case 忽略字符大小寫的差別。

-l或--file-with-matches 列出文件內容符合指定的范本樣式的文件名稱。

-L或--files-without-match 列出文件內容不符合指定的范本樣式的文件名稱。

-n或--line-number 在顯示符合范本樣式的那一列之前,標示出該列的列數編號。

-q或--quiet或--silent 不顯示任何信息。

-r或--recursive 此參數的效果和指定“-d recurse”參數相同。

-s或--no-messages 不顯示錯誤信息。

-v或--revert-match 反轉查找。

-V或--version 顯示版本信息。

-w或--word-regexp 只顯示全字符合的列。

-x或--line-regexp 只顯示全列符合的列。

-y 此參數的效果和指定“-i”參數相同。

--help 在線幫助。

1.19?head

1.19.1?功能說明

先是文件的前幾行(默認10行)。

1.19.2?語法

head [options] [files]

1.19.3?參數

-c, --bytes=[-]N 每個文件顯示前 N 字節;

-n, --lines=[-]N 每個文件顯示前 N行;

-q, --quiet, --silent 不打印文件頭

-v, --verbose 打印文件頭

--help 顯示此幫助信息并離開

--version 顯示版本信息并離開

1.19.4?例子

顯示文件 phone_list前20行

head -20 phone_list

顯示有202區號的前10個號碼

grep '(202)' phone_list | head

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容