find
是一個在 Linux 中非常強大的命令,用于在目錄樹中搜索文件
-name
:根據文件名搜索。可以使用通配符 *
進行模糊匹配。例如,find . -name "*.txt"
會在當前目錄及其子目錄中搜索所有以 .txt
結尾的文件。
-type
:根據文件類型搜索。可選值有 f
(普通文件)、d
(目錄)、l
(符號鏈接)等。例如,find . -type d
會在當前目錄及其子目錄中搜索所有目錄。
-mtime
:根據文件修改時間搜索。可選值有 0
(今天)、1
(1天前)、-1
(1天后)等。例如,find . -mtime 0
會在當前目錄及其子目錄中搜索所有今天修改過的文件。
-size
:根據文件大小搜索。可以使用單位 k
(KB)、M
(MB)、G
(GB)等。例如,find . -size +1M
會在當前目錄及其子目錄中搜索所有大于 1MB 的文件。
-exec
:對搜索到的文件執行指定的命令。例如,find . -name "*.txt" -exec rm {} \;
會刪除當前目錄及其子目錄中所有以 .txt
結尾的文件。
-print
:打印搜索到的文件路徑。這是 find
命令的默認行為,通常不需要顯式指定。
-ls
:對搜索到的文件執行 ls
命令,顯示文件詳細信息。例如,find . -name "*.txt" -ls
會列出當前目錄及其子目錄中所有以 .txt
結尾的文件及其詳細信息。
這些參數可以組合使用,例如:find . -type f -name "*.txt" -mtime 0 -exec rm {} \;
會在當前目錄及其子目錄中搜索所有今天修改過的文本文件,并刪除它們。