语法概念
语法格式:find [option] 查找路径 查找条件 处理动作
基于文件类型查找
-type
f:普通文件
d:目录文件
l:链接文件
s:套接字文件
c:字符设备文件
b:块设备文件
p:管道文件
基于文件大小查找
基于时间查找
1.以天为单位
-atime [+|-]#:表示访问时间
-mtime [+|-]#:表示数据修改时间
-ctime [+|-]#:表示与元数据修改时间
2.以分钟为单位
-amin [+|-]#:表示访问时间
-mmin [+|-]#:表示数据修改时间
-cmin [+|-]#:表示与元数据修改时间
基于权限查找
-perm
语法:
find -perm mode / 精准匹配
find -perm -mode / 满足一个就可以,或关系
mode----->>755 644 rwx
基于搜索层级查找
-maxdepth level 最大搜索深度
find -maxdepth 2 / 从当前目录开始向下最多搜索2层,包括第二层
-mindepth level 最小搜索深度
find -mindepth 2 / 从当前目录向下的第二层目录开始搜索,不包括第二层
样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | find / -name "a.txt" find / - type f -size 0 - exec ls -l {} \; #查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径 find /home/ -name "*.txt" - type d #显示出来的都是目录 find / -nouser -o -nogroup -atime -7 #查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 find /etc ! -perm 222 - ls #查找/etc目录下所有用户都没有写权限的文件 find /etc ! -perm 222 - exec ls {} \; #查找/etc目录下所有用户都没有写权限的文件 find /etc ! -perm -111 - ls #查找/etc目录下至少有一类用户没有执行权限的文件,-111代表三个1最少选一个 find . - type f -name "*.log" -mtime +30 - exec rm -rf {} \; #删除服务器30天之前的日志 find ./*.log -mmin -30 -delete #删除服务器30分钟内的日志 find . - type f - exec chmod -R 644 {} \; #在当前目录下把所有文件的权限改为644 find . "*.txt" - type f -mtime -1 -size +1k -perm 755 #查找修改时间在一天内,同时满足大小大于1k的且权限为755才会显示出来 find /data -perm 644 -name "*.sh" - exec chmod 755 {} \; #查找/data下权限是644且以.sh结尾的普通文间件,修改权限为755 find /root -perm -002 - exec chmod o-2 {} \; #查找家目录下其他人有写权限的文件,取消其写权限 |
分类:
linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2020-11-25 python实现进度条