【Linux】find 命令详解及使用示例:递归查找文件和目录
引言
find 是 Linux/Unix 系统中强大的文件搜索工具,用于在目录层次结构中递归查找文件和目录。它提供了丰富的搜索条件和灵活的操作选项,可以满足从简单到复杂的各种文件查找需求。
基本功能
- 文件查找:根据名称、类型、大小、日期等条件搜索文件
- 条件筛选:支持多种过滤条件的组合和逻辑运算
- 执行操作:可对找到的文件执行命令
常用查找条件
-
名称相关:
-name "模式":按文件名查找,支持通配符-iname "模式":按文件名查找,忽略大小写-path "模式":按文件路径查找
-
类型相关:
-type f:查找普通文件-type d:查找目录-type l:查找符号链接
-
时间相关:
-mtime +/-n:按修改时间查找(n天前/内)-atime +/-n:按访问时间查找-ctime +/-n:按状态改变时间查找-newer file:查找比指定文件更新的文件
-
大小相关:
-size +/-n[cwbkMG]:按文件大小查找
-
权限相关:
-perm 权限模式:按权限查找-user 用户名:按所有者查找-group 组名:按所属组查找
-
深度相关:
-maxdepth n:最大搜索深度-mindepth n:最小搜索深度
常用操作
-print:默认操作,打印匹配文件的路径-exec command {} \;:对每个匹配文件执行命令-exec command {} +:将多个匹配文件作为参数执行命令-delete:删除匹配的文件-ls:显示文件的详细信息
逻辑操作符
-a或默认无操作符:逻辑与-o:逻辑或!:逻辑非():分组条件(需要转义:\( \))
使用示例
- 列出/bin目录下普通文件的个数
find /bin -type f | wc -l

参考资料
- https://www.runoob.com/linux/linux-comm-find.html



















