搜尋非系統檔案的方法:
(1) find -name 檔案名:可搜尋在「當前目錄」下,其名稱(不包含副檔名)符合檔案名的檔案。這個指令可以搜尋到非系統檔。若要在家目錄下搜尋非系統檔案,這是個常用的指令。
但要注意,若用這個指令搜尋系統檔,要用root身分才有辦法,否則一般使用者可能沒有這樣的權限。
※ 註(重要!):若要找特定名稱的檔案,用以下的字元符號可能更方便:
(※-1) 萬用字元*。 *代表「任意長度的任意字串」。
如:ls *.txt 就會列出當前目錄下所有副檔名為txt的檔案。
又如:ls -l a*f 就會列出當前目錄下所有完整檔案名為a開頭、f結尾的檔案其詳細資訊。
又如:ls *s* 就會列出當前目錄下所有完整檔案名包含s的檔案。
(※-2) 問號?。?代表「一個任意字元」。
如:ls ?t.txt 會列出當前目錄下,名稱為「一個任意字元加上t.txt」的檔案。
(※-3) [字元一字元二字元三…]。代表「一個可能是字元一、或字元二、或字元三…的字元」。
如:ls [abcdehg]t.txt會列出當前目錄下,名稱為「一個特定字元加上t.txt」的檔案。其中,特定字元必須是a、b、c、d、e、h、g的其中一個。
(※-4) [字元一-字元二]。代表一個「ASCII碼介於字元一和字元二之間的字元」。
(※-5) [^字元一字元二字元三…]。代表「一個不能是字元一、或字元二、或字元三…的字元」。
如:ls [abcdehg]t.txt會列出當前目錄下,名稱為「一個特定字元加上t.txt」的檔案。其中,特定字元不能是a、b、c、d、e、h、g的其中一個。
(2) find -size ⊕大小:可搜尋在「當前目錄」下,其所占容量大於或小於大小的檔案。其中,⊕可為加號+(表示大於),亦可為減號-(表示小於)。大小的格式為:數字單位。數字就是任意正整數,單位可為c(代表bytes)、k(代表kB)、M(代表MB)、G(代表GB)。如:
find -size +50M 代表要搜尋當前目錄下,大小超過50M的檔案。
(3) find -type 類型:可搜尋在「當前目錄」下,其類型等於類型的檔案。類型的寫法,可為:f(代表一般檔案)、d(代表目錄)、l(代表連結檔)、b(代表區塊裝置檔)、c(代表字元裝置檔)、s(代表socket檔)、p(代表FIFO檔)。
(4) find -perm 權限:可搜尋在「當前目錄」下,其權限等於權限的檔案。權限的寫法,可為3個0~7的正整數(代表一般權限),亦可為4個0~7的正整數(代表特殊權限以及一般權限)。如:
find -perm 755代表要搜尋當前目錄下,一般權限為755的檔案。
(5) find -perm -權限:其中,權限的寫法如(4)。此指令可搜尋在當前目錄下,其權限包含權限的檔案。如:find -perm -0022,就是說搜尋當前目錄下,其權限包含「群組可寫」、「外人可寫」的檔案。只要一個檔案的權限包含「群組可寫」、「外人可寫」,就會被搜尋到。
留言列表