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 {} \; 会在当前目录及其子目录中搜索所有今天修改过的文本文件,并删除它们。