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
命令来查找和管理文件。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>