网站首页 > 博客文章 正文
-mtime, -size, -perm, -exec, -delete……让你在海量文件中精确找到你想要的任何东西
当你面对服务器上成千上万的文件,像侦探在迷宫中寻找线索时,find命令就是你最可靠的瑞士军刀。这个诞生于1979年的Unix老兵,至今仍是Linux系统管理员的秘密武器。别再只会用-name和-type了,今天我们解锁它的七种终极形态,让你在文件海洋中精准定位目标。
第一种武器:时间侦探 -mtime
功能:按修改时间筛选文件,精确到天
实战场景:找出上周修改的日志文件
find /var/log -name "*.log" -mtime +7 -mtime -14
这条命令能找出7到14天前修改的日志,就像让时光倒流,精准定位到"案发时段"。+n表示n天前,-n表示n天内,两者结合就是时间范围查询。
图1:使用find -mtime查找3天内修改的文件,清晰显示文件路径和修改时间戳
第二种武器:空间猎手 -size
功能:按文件大小搜索,支持KB/MB/GB单位
紧急救援:清理大文件释放磁盘空间
当服务器报警"磁盘已满"时,这条命令能快速定位罪魁祸首:
find / -type f -size +1G -exec du -h {} \;
+1G表示大于1GB,配合du -h直观显示文件大小。就像给文件系统做CT扫描,瞬间锁定肥胖文件。
第三种武器:权限判官 -perm
功能:按文件权限筛选,守护系统安全
权限密码本:数字与符号对应表
数字 | 符号表示 | 含义说明 |
755 | rwxr-xr-x | 所有者读写执行,组和其他用户读执行 |
644 | rw-r--r-- | 所有者读写,组和其他用户只读 |
400 | r-------- | 仅所有者可读 |
安全审计案例:找出所有全局可写文件
find / -perm -o+w -type f 2>/dev/null
这条命令能揪出系统中的"安全漏洞",就像保安检查所有未上锁的门。-o+w表示其他用户有写权限,2>/dev/null屏蔽权限错误提示。
第四种武器:自动化管家 -exec
功能:对搜索结果执行命令,实现批量操作
效率倍增器:一站式完成查找与处理
备份最近修改的配置文件:
find /etc -name "*.conf" -mtime -1 -exec cp {} {}.backup \;
{}是找到的文件名占位符,\;表示命令结束。这个组合就像给find装上机械臂,找到目标后直接动手处理。
图2:使用find -exec批量更改文件权限,命令执行过程一目了然
第五种武器:清洁卫士 -delete
功能:直接删除找到的文件,危险但高效
安全操作指南:
删除7天前的临时文件(先预览再删除!):
# 预览
find /tmp -name "tmp*" -mtime +7 -print
# 确认后执行删除
find /tmp -name "tmp*" -mtime +7 -delete
就像给系统装了自动垃圾桶,但记住:删除前务必用-print预览,避免误删重要文件。
第六种武器:身份识别 -user/-group
功能:按所有者/组筛选文件,理清文件归属
场景:找出离职员工的文件
find /home -user zhangsan -type f
这条命令能快速定位特定用户的所有文件,就像公司的门禁系统,只允许查看指定人员的"储物柜"。
第七种武器:类型大师 -type
功能:精确区分文件类型,避免大海捞针
类型密码:
- f:普通文件
- d:目录
- l:符号链接
- s:套接字文件
查找所有符号链接并检查有效性:
find / -type l -exec file {} \; | grep "broken symbolic link"
这就像在一堆工具中精准挑出"错误的钥匙",帮你清理无效链接。
终极秘籍:组合技
将多种武器组合,威力倍增:
# 找出/var下大于100MB、30天前修改、属于www-data的日志文件并压缩
find /var -type f -name "*.log" -size +100M -mtime +30 -user www-data -exec gzip {} \;
这条命令堪称系统维护的"组合拳",一次性完成复杂筛选与处理。
避坑指南
- 性能陷阱:避免在/根目录直接搜索,加上路径限制:find /home -name "*.txt"
- 权限问题:普通用户搜索系统目录时,用2>/dev/null屏蔽Permission denied错误
- 安全删除:重要文件删除前,建议先用-exec mv {} /tmp/trash \;移动到临时目录
掌握这七种武器,你就能在Linux的文件迷宫中如履平地。记住,find命令的真正威力不在于记住所有参数,而在于理解它"按条件筛选"的核心思想。下次当同事还在手动翻找文件时,你只需一行命令就能搞定——这就是命令行高手的浪漫。
- 上一篇: 恶意代码常见的编程方式
- 下一篇: 初中生也能学的编程,不走弯路,先用后学
猜你喜欢
- 2025-08-06 nginx 反向代理
- 2025-08-06 跨表插入连续的日期,sheetsname函数#excel技巧
- 2025-08-06 初中生也能学的编程,不走弯路,先用后学
- 2025-08-06 恶意代码常见的编程方式
- 2025-08-06 kali2021ping 外网不通
- 2025-08-06 因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 2025-08-06 hadoop集群搭建详细方法
- 2025-08-06 Redis安装和开机自启,看这一篇就够了
- 2025-08-06 Linux Namespace原理
- 2025-08-06 Linux NameSpace的机制
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)