Linux 后台 / 运维岗高频命令里,find 一定有一席之地。 服务器上几十万文件,靠 ls 翻?靠肉眼看?不现实。 这篇文章把 find 的 7 种实战用法 + 面试真题 + 避坑心法 一次讲透。一、先来一道面试真题
服务器上有一个 logs 目录,如何删除最后一次访问时间超过一年的日志文件?
很多人卡壳。
答案其实就一行:
cd logsfind . -type f -atime +365 -exec rm -rf {} \;看不懂没关系,看完下面 7 个用法,你不仅能写,还能讲。
二、find 在干什么
先定范围 → 再定条件 → 最后干点什么
find [从哪找] [什么条件] [找到后干嘛]三、7 种用法速查图(建议收藏)场景
核心参数
示例
按名字
-name
find . -name "*.log"
按类型
-type
find . -type d
按时间
-atime/-mtime/-ctime
-mtime +5
按大小
-size
-size +100M
按权限
-perm
-perm 777
按属主
-user/-group
-user root
找到就执行
-exec
-exec rm {} \;
条件可以叠:
find 多个条件之间是「与」关系,写得越细,捞得越准。
四、PART 01 按名称查找 1. 精确找
find . -name test.txt2. 通配符找find ./yang/books -type f -name "*.pdf"⚠️ 重点坑
-name *.pdf # ❌ shell 会先展开-name "*.pdf" # ✅ find 才收到通配符五、PART 02 按类型查找find . -type d -name "fcant*"find . -type l -name "yang*"type 速查f 普通文件d 目录l 符号链接b 块设备c 字符设备s 套接字六、PART 03 按时间查找(最容易被问)Linux 文件有三个时间:
atime:最后一次「读」mtime:最后一次「改内容」ctime:最后一次「改元数据」(权限/属主等)示例# 一年没访问find . -type f -atime +365# 正好 5 天前改过find . -type f -mtime 5# 5~10 天前改过find . -type f -mtime +5 -mtime -10记死:
+ 大于- 小于无符号 = 正好七、PART 04 按大小查找find . -type f -size +10M -size -1G单位表单位
含义
c
字节
k
KB
M
MB
G
GB
b
512 字节块(默认)
⚠️ 磁盘爆了别直接:
find / -type f -size +1G先 cd /var 或 /home,别扫 /proc。
八、PART 05 按权限查找(安全巡检神器)
find . -type f -perm 777三种写法区别-perm 777 # 精确等于-perm -777 # 777 权限「全有」-perm /777 # 任意一位命中✅ 生产环境扫高危:
find / -type f -perm -777九、PART 06 按属主 / 属组find . -type f -user fcantfind . -type f -group dev找“幽灵文件”find / -type f -nouser离职同事删了账号,文件还在?这条超好用。十、PART 07 找到后执行(-exec)
find . -type f -atime +365 -exec rm -rf {} \;三个关键符号{} → 找到的文件\; → 每条执行一次+ → 批量传参(更快)删之前先看看(保命)find . -type f -atime +365 -exec ls -l {} \;高性能写法find . -type f -atime +365 -exec rm -rf {} +十一、回到面试题(标准答法)删除 logs 目录中一年没访问的日志
cd logsfind . -type f -atime +365 -exec rm -rf {} \;讲解口径(面试官爱听)- find .:从当前目录递归
- -type f:只删文件,不删目录
- -atime +365:一年没读
- -exec rm -rf {} \;:对结果逐个删除
别一动就 find /✅ 心法 2:条件叠加 = 更准
find . -type f -name "*.log" -size +100M -mtime +30✅ 心法 3:删前先 ls-exec ls -l {} \;这一行,能救生产事故。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.