主要選項
嘗試透過結合 `find` 指令的各種選項來搜尋和處理檔案系統中的檔案。
1. 基本搜尋
2. 時間條件
3. 大小和權限條件
4. 操作
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`find` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
邏輯運算子
`find` 指令提供邏輯運算子,可以透過組合多個條件來執行更精確的搜尋。
運算子 | 說明 | 範例 |
---|---|---|
-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 的檔案。