首頁 > 檔案與目錄管理 > find

精通 find 指令

這是關於 `find` 指令的指南,該指令用於在 Linux 檔案系統中搜尋檔案和目錄。透過結合各種條件和操作,您可以有效地找到所需的檔案。

主要選項

嘗試透過結合 `find` 指令的各種選項來搜尋和處理檔案系統中的檔案。

1. 基本搜尋

2. 時間條件

3. 大小和權限條件

4. 操作

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`find` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

邏輯運算子

`find` 指令提供邏輯運算子,可以透過組合多個條件來執行更精確的搜尋。

主要邏輯運算子 用於組合多個條件的運算子。預設情況下應用 AND (`-a`)。
運算子 說明 範例
-and(或省略) 當左側和右側條件都為真時 `find . -name "*.txt" -and -size +1M`
-or 當左側或右側條件中至少有一個為真時 `find . -name "*.log" -or -name "*.tmp"`
-not(或 !) 當條件為假時 `find . -not -name "*.txt"`
( ) 條件分組(需要轉義) `find . \( -name "*.txt" -or -name "*.doc" \)`

運算子優先順序

`find` 指令的運算子通常是先評估表達式(Expression),後評估操作(Action)。此外,在條件內部,可以使用括號 (`()`) 來顯式指定優先順序。使用括號時,必須用反斜杠 (`\`) 進行轉義,因為它們在 shell 中具有特殊含義。

使用範例

透過 `find` 指令的實用使用範例,練習檔案搜尋和管理。

在目前目錄中尋找所有副檔名為 '.log' 的檔案

find . -name "*.log"

在目前位置搜尋所有以 `.log` 結尾的檔案。

尋找大於 50MB 的檔案

find /var -size +50M

在系統的 `/var` 目錄下搜尋所有大小超過 50MB 的檔案。

尋找 7 天內修改過的 'conf' 檔案

find . -name "*.conf" -mtime -7

在目前目錄中尋找在 7 天內修改過的 `.conf` 檔案。

尋找所有存取權限為 777 的目錄

find / -type d -perm 777

在整個系統中尋找權限設定為 777 的目錄,以檢查安全風險。

刪除舊的 '.tmp' 檔案

find /tmp -name "*.tmp" -mtime +30 -delete

在 `/tmp` 目錄中尋找並刪除所有超過 30 天的 `.tmp` 檔案。

對找到的檔案執行特定指令 (chmod)

find . -name "*.sh" -exec chmod 755 {} \;

授予目前目錄中所有副檔名為 `.sh` 的檔案執行權限 (755)。

尋找由特定使用者擁有且大於 1GB 的檔案

find /home -user user1 -size +1G

在 `/home` 目錄中尋找由 `user1` 擁有且大小超過 1GB 的檔案。


相同類別命令