尋找檔案(find 指令)

使用 find 指令,可以在目錄樹中遞迴地搜尋每一個指定的 Path, 同時使用下列文字提供的詞彙,尋找符合已寫好的布林表示式的檔案。

find 指令的輸出結果取決於 Expression 參數所指定的詞彙。

以下是 find 指令的用法範例:
  • 若要列出檔案系統中名稱為 .profile 的所有檔案,請鍵入:
    find / -name .profile
    此指令會搜尋整個檔案系統,並寫入所有名稱為 .profile 的檔案之完整路徑名稱。斜線 (/) 告訴 find 指令去搜尋 /)目錄及其所有子目錄。

    為節省時間,請指定您認為檔案可能會在的地方,以限制搜尋的範圍。

  • 若要列出在現行目錄樹中具有特定許可權代碼 0600 的檔案,請鍵入:
    find . -perm 0600
    此動作會列出只具有擁有者讀取和擁有者寫入許可權的檔案名稱。點 (.) 會叫 find 指令去搜尋現行目錄及其子目錄。若需許可權代碼的說明,請參閱 chmod 指令。
  • 若要搜尋數個目錄中含特定許可權代碼的檔案,請鍵入:
    find manual clients proposals -perm -0600
    此動作會列出具有檔案持有者讀取和寫入許可、和所有可能為其他許可權的檔案名稱。manualclientsproposals 目錄及其子目錄都會被搜尋。在上一個範例中,-perm 0600 只會選取許可權代碼完全符合 0600 的檔案。在此範例中,-perm -0600 會選取許可權代碼允許 0600 所指出之存取權和高過 0600 層次之其他存取的檔案。此規則也適用於許可字元 0622 和 2744。
  • 若要列出現行目錄中在過去 24 小時內有作變更的所有檔案,請鍵入:
    find . -ctime 1 
  • 若要搜尋含多個連結的一般檔案,請鍵入:
    find . -type f -links +1
    此指令會列出具有一個以上鏈結 (-links +1) 的一般檔案名稱 (-type f)。
    註: 每一個目錄至少都有兩個鏈結:分別是在其母目錄及其本身的 .(點)項目。如需多個檔案鏈結的相關資訊,請參閱 ln 指令。
  • 若要搜尋長度剛好是 414 位元組的所有檔案,請鍵入:
    find . -size 414c 

請參閱 Commands Reference, Volume 2 中的 find 指令,以取得完整語法。