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

 -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


分享到:


相關文章: