find
命令是 Linux 系統中非常強大的文件查找工具,它可以根據文件名、大小、修改時間等多種條件來查找文件。以下是一些常用的 find
命令用法示例:
查找指定目錄下的所有文件和子目錄
find /path/to/search -type f
這條命令會在 /path/to/search
目錄及其所有子目錄中查找所有文件(-type f
表示查找文件)。
查找指定目錄下的所有目錄
find /path/to/search -type d
這條命令會在 /path/to/search
目錄及其所有子目錄中查找所有目錄(-type d
表示查找目錄)。
查找特定文件名的文件
find /path/to/search -name "filename.txt"
這條命令會在 /path/to/search
目錄及其所有子目錄中查找名為 filename.txt
的文件。
查找特定文件名的文件(不區分大小寫)
find /path/to/search -iname "filename.txt"
查找大于指定大小的文件
find /path/to/search -size +100M
這條命令會在 /path/to/search
目錄及其所有子目錄中查找大于 100MB 的文件。
查找小于指定大小的文件
find /path/to/search -size -100M
這條命令會在 /path/to/search
目錄及其所有子目錄中查找小于 100MB 的文件。
查找在指定時間之前修改過的文件
find /path/to/search -mtime +30
這條命令會在 /path/to/search
目錄及其所有子目錄中查找在 30 天之前修改過的文件。
查找在指定時間之后修改過的文件
find /path/to/search -mtime -7
這條命令會在 /path/to/search
目錄及其所有子目錄中查找在 7 天之內修改過的文件。
你可以使用 -and
、-or
和 -not
來組合多個條件:
查找大于 100MB 且在 30 天之前修改過的文件
find /path/to/search -size +100M -mtime +30
查找名為 filename.txt
或 config.log
的文件
find /path/to/search \( -name "filename.txt" -o -name "config.log" \)
你還可以在找到文件后執行特定的命令,例如刪除文件:
find /path/to/search -name "*.tmp" -exec rm {} \;
這條命令會刪除 /path/to/search
目錄及其所有子目錄中所有擴展名為 .tmp
的文件。
find
命令默認會遞歸搜索子目錄,如果你只想在指定目錄下搜索,可以使用 -maxdepth
選項來限制搜索深度。-exec
選項時要小心,確保你執行的命令是安全的,避免誤刪重要文件。通過這些基本用法,你可以靈活地使用 find
命令來查找和管理文件。