linux系统find命令的一些使用技巧
参数:
1.-name选项:按照文件名称查找,允许使用通配符
2.-type选项:按照文件类型查找
3.-user选项:按照文件所有者查找
4.-size选项:按照文件大小查找
5.-maxdepth<目录层级〉:设置最大目录层级
6.-mindepth<目录层级〉:设置最小目录层级
示例
1.find /etc -name "net*.conf" 查找etc目录下所有文件名是以"net"开头,".conf"结尾的文件
2.find /boot -type d 查找boot目录下所有的目录
3.find /boot -size +1024k 查找boot目录下所有大于1024k的文件
4.find /home -user horse 查找home目录下所有归属者是horse的文件
基于目录深度搜索
find /home -maxdepth 3 -type f 查找向下最大深度限制为3层的普通文件
find /home -mindepth 2 -type f 搜索出深度距离当前目录至少2层目录的普通文件
查找时,忽略一个或多个目录下文件
注意:-path 的前缀要和find的目录一样
#忽略单个目录 #-a逻辑与,当-path "./var"为真,则执行-prune,返回真;-o逻辑或,增加查询条件,与前面排除目录条件组合输出符合的内容 理解方法:find . {{{-path "./var"} -a {-prune}} -o {-name ".log"}} -print find . -path "./var" -a -prune -o -name ".log" -print #忽略多个目录 find . \( -path "./var" -o -path "./opt" \) -a -prune -o -name ".log" -print 或者 #忽略单个目录,其中./var*表示./var下所有文件 find . ! -path "./var*" -name ".log" #忽略多个目录 find . ! -path "./var*" ! -path "./opt*" -name "*.log"
查找一个或多个目录下文件
#在当前目录下的dir1目录及dir1子目录下查找文件 find ./ -path "./dir1*" -name 1.txt #在当前目录下的dir1、dir2目录及dir1、dir2子目录下查找文件 find ./ \( -path "./dir1*" -o -path "./dir2*" \) -name a
查找范围时间内的文件
参数
-mmin N 修改时间:文件内容最后一次修改时间,单位分钟
-amin N 访问时间:用户最近的一次访问时间,单位分钟
-cmin N 变化时间:文件权限、所有权最后一次改变时间,单位分钟
-mtime N 修改时间:文件内容最后一次修改时间,单位天
-atime N 访问时间:用户最近的一次访问时间,单位天
-ctime N 变化时间:文件权限、所有权最后一次改变时间,单位天
-newermt 指定日期
-newer 指定参考文件

分类:
linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现