測試工程師比會的Linux命令
阿新 • • 發佈:2019-02-04
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 裡。
6
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=<參考檔案或目錄> 把指定檔案或目錄的所屬群組全部設成和參考檔案或目錄的所屬群組
7
相同。
--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 顯示指令執行過程。
8
--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 顯示版本資訊。
9
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 指令用在複製檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,
10
則它會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,而最後的目的地並非
是一個已存在的目錄,則會出現錯誤資訊。
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 的文字。
11
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=<檔案> 輸出到檔案。
12
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 不檢查大小寫的不同。
13
-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 [選項]... [檔案]...
14
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 加上檔案型別的指示符號 (*/[email protected]| 其中一個)
-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 加上檔案型別的指示符號 (/[email protected]| 其中一個)
-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 同時列出所有子目錄層
15
-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 輸出檔名
16
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 指令,我們得以辨識該檔案的型別。
17
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 <inode 編號>][-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 <檔案型別>]
18
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 編號> 查詢符合指定的 inode 編號的檔案或目錄。
-ipath<範本樣式> 此引數的效果和指定"-ipath"引數類似,但忽略字元大小寫的差別。
-iregex<範本樣式> 此引數的效果和指定"-regexe"引數類似,但忽略字元大小寫的差別。
19
-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"引數類似,差別在於它針對符號連線檢查。
20
1.18 grep
1.18.1 功能說明
查詢檔案裡符合條件的字串。
1.18.2 語法
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>
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 的檔案內容加上行號(空白行不加)之後將內容
附加到
6
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 補充說明
件與目錄的所屬群組,設定方式採用群組名稱或群組識別碼皆可。
1.4.3 引數
-c 或--changes 效果類似"-v"引數,但僅回報更改的部分。
-f 或--quiet 或--silent 不顯示錯誤資訊。
-h 或--no-dereference 只對符號連線的檔案作修改,而不更動其他任何相關檔案。
-R 或--recursive 遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。
-v 或--verbose 顯示指令執行過程。
--help 線上幫助。
--reference=<參考檔案或目錄> 把指定檔案或目錄的所屬群組全部設成和參考檔案或目錄的所屬群組
7
相同。
--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 顯示指令執行過程。
8
--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 顯示版本資訊。
9
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 指令用在複製檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,
10
則它會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,而最後的目的地並非
是一個已存在的目錄,則會出現錯誤資訊。
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 的文字。
11
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=<檔案> 輸出到檔案。
12
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 不檢查大小寫的不同。
13
-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 [選項]... [檔案]...
14
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 加上檔案型別的指示符號 (*/[email protected]| 其中一個)
-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 加上檔案型別的指示符號 (/[email protected]| 其中一個)
-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 同時列出所有子目錄層
15
-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 輸出檔名
16
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 指令,我們得以辨識該檔案的型別。
17
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 <inode 編號>][-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 <檔案型別>]
18
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 編號> 查詢符合指定的 inode 編號的檔案或目錄。
-ipath<範本樣式> 此引數的效果和指定"-ipath"引數類似,但忽略字元大小寫的差別。
-iregex<範本樣式> 此引數的效果和指定"-regexe"引數類似,但忽略字元大小寫的差別。
19
-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"引數類似,差別在於它針對符號連線檢查。
20
1.18 grep
1.18.1 功能說明
查詢檔案裡符合條件的字串。
1.18.2 語法
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>