简介
find 命令是 Linux 系统中一个非常强大的工具,它允许用户在文件系统中搜索文件和目录。它可以根据文件名、类型、大小、权限、所有者、修改日期等条件来查找文件。
基本语法
find [path...] [expression]
path:指定搜索的目录路径,默认是当前目录。expression:定义搜索条件。
常用选项
-name:按照文件名查找。-type:指定文件类型(例如:f 表示文件,d 表示目录)。-size:按照文件大小查找。-user:按照文件所有者查找。-group:按照文件所属组查找。-mtime:按照文件内容上次修改时间查找。-maxdepth:限制搜索深度。
操作符
-and:逻辑与。-or:逻辑或。-not:逻辑非。
实战案例
1. 查找当前目录下的所有 .txt 文件
find . -type f -name "*.txt"
2. 查找名为 config 的文件
find / -type f -name "config"
3. 查找大小大于 10MB 的文件
find / -type f -size +10M
4. 查找最近 7 天内修改过的文件
find / -type f -mtime -7
5. 查找属于用户 kimi 的文件
find / -type f -user kimi
6. 查找属于组 admin 的文件
find / -type f -group admin
7. 查找当前目录下的所有目录,并按修改时间排序
find . -type d | sort -k 7,7n
8. 查找当前目录下所有空目录
find . -type d -empty
9. 查找并删除当前目录下所有 .log 文件
find . -type f -name "*.log" -delete
10. 查找并打印当前目录下所有文件的权限和所有者
find . -type f -exec ls -l {} \;
注意事项
- 使用
find命令时,如果路径包含空格或特殊字符,需要用引号括起来。 - 使用
-exec选项执行命令时,需要用\;结束。 - 使用
-exec选项时,如果需要在执行的命令中使用{}来代表找到的文件名,确保{}被正确转义。
总结
find 命令是 Linux 系统中进行文件搜索的强大工具,通过灵活使用其选项和操作符,可以高效地完成各种文件查找任务。掌握 find 命令,可以大大提高你的工作效率。
6万+

被折叠的 条评论
为什么被折叠?



