随笔- 310  文章- 1  评论- 0  阅读- 86066 

语法概念

语法格式: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 #显示出来的都是目录
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 {} \; #查找家目录下其他人有写权限的文件,取消其写权限

  

 posted on   boye169  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
历史上的今天:
2020-11-25 python实现进度条
点击右上角即可分享
微信分享提示