find 命令是 Linux 系统管理员和用户都可使用的强大工具。它允许你根据特定条件,在目录层次结构中搜索文件和目录。无论你管理的是本地系统还是云环境,掌握 find 命令都能显著提高你的效率。
在本文中,我们将探讨最常见的使用 find 命令的场景,并提供示例帮助你入门。
最常见的使用场景: find
1. 按名称搜索文件
find </path/to/look/into> -name <filename>
使用此命令查找与特定名称匹配的文件。如需不区分大小写的搜索,请使用 -iname 选项:
find </path/to/look/into> -iname <filename>
2. 按名称搜索目录
find </path/to/look/into> -type d -name <directory_name>
此命令用于定位与指定名称匹配的目录。如需不区分大小写的搜索,请使用 -iname 选项:
find </path/to/look/into> -type d -iname <directory_name>
3. 按扩展名查找文件
find </path/to/look/into> -name "*.txt"
搜索具有特定扩展名的文件,例如 .txt, .log, .sh等。
4. 搜索隐藏文件
find </path/to/look/into> -type f -name ".*"
隐藏文件(以点 .开头的)可以使用此命令定位。
5. 搜索隐藏目录
find </path/to/look/into> -type d -name ".*"
使用此命令查找指定路径内的隐藏目录。
6. 查找空文件
find </path/to/look/into> -type f -empty
定位空文件,这对清理任务很有用。
7. 查找空目录
find </path/to/look/into> -type d -empty
此命令可以识别空目录,让你删除不必要的文件夹。
8. 搜索过去 X 天内修改的文件
find </path/to/look/into> -type f -mtime -X
将 X 替换为天数,即可查找过去 X 天内修改的文件(例如, -mtime -7 表示查找过去一周内修改的文件)。
9. 搜索大于指定大小的文件
find </path/to/look/into> -type f -size +500M
查找大于 500 MB 的文件。将 500M 替换为所需大小,千字节使用 K ,吉字节使用 G 。
10. 对找到的文件执行命令
find </path/to/look/into> -type f -name "*.log" -exec rm {} \;
此命令搜索 .log 文件并将其删除。将 rm 替换为你想对找到的文件执行的任何命令。
参考文档
如需更高级的用法和选项,请查阅官方的 find 命令手册:
GNU/Linux 手册页中的 find