上一篇
场景引入:
"昨晚做的项目文档存哪儿了?"
"那个报错的配置文件到底藏在哪个目录?"
——每个Linux用户都经历过的"寻宝游戏"🤯 今天就用find
和locate
两把瑞士军刀,终结你的文件搜索焦虑!
$ locate nginx.conf /etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
/var/lib/mlocate/mlocate.db
) sudo updatedb
手动刷新) # 忽略大小写 locate -i "readme.md" # 显示最近新增的文件(需先更新数据库) sudo updatedb && locate -S | grep "最近更新" # 统计匹配数量 locate -c ".log"
# 基本语法 find [路径] [选项] [操作]
搜索类型 | 示例命令 | 说明 |
---|---|---|
按名称 | find /home -name "*.jpg" |
精准匹配 |
按大小 | find / -size +100M |
找大文件神器 |
按时间 | find /var/log -mtime -7 |
7天内修改过的 |
按权限 | find . -perm 644 |
权限精确匹配 |
# 找到30天前的日志并删除(危险操作!) find /var/log -name "*.log" -mtime +30 -delete # 多条件搜索(OR关系) find / \( -name "*.tmp" -o -name "*.bak" \) # 对找到的文件执行命令(比如批量改权限) find /project -type f -exec chmod 644 {} \;
-maxdepth
控制递归深度 场景对比 | locate | find |
---|---|---|
速度 | ⚡闪电般快 | 🐢相对较慢 |
实时性 | 有延迟 | 实时生效 |
复杂条件 | 不支持 | 无限可能 |
系统负载 | 几乎为零 | 可能较高 |
经验法则:
locate
find
find /path -name "pattern" 2>/dev/null
(忽略报错) 权限陷阱:
# 普通用户可能找不到系统文件 sudo find / -name "secret.conf"
符号链接处理:
find -L /path -follow # 跟踪符号链接
特殊字符转义:
find . -name "file*" # 星号需要引号包裹
# 找出/home下所有大于1GB的临时文件(排除.git目录) find /home -path "*/.git" -prune -o -size +1G -name "*.tmp" -print # 快速定位最近修改的Python脚本 locate "*.py" | xargs ls -lt | head -5
掌握这两大神器,你的Linux文件系统将变成透明的水族箱🐠,所有文件都无所遁形!下次再遇到"文件去哪儿了"的灵魂拷问,淡定敲键盘就好~
(本文命令测试环境:Ubuntu 22.04,2025年8月验证)
本文由 贡秀 于2025-08-02发表在【云服务器提供商】,文中图片由(贡秀)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/515841.html
发表评论