上一篇
"老张,我那个项目配置文件放哪儿来着?"
"好像是/opt
下面的某个文件夹...具体路径记不清了。"
这种场景是不是很熟悉?在Linux服务器上找文件就像大海捞针——特别是当你只记得文件名片段,或者模糊记得修改时间的时候,今天我们就来彻底解决这个痛点,手把手教你用find
和locate
这两个搜索神器,让你分分钟定位到任何"藏起来"的文件。
虽然图形界面也有搜索功能,但在服务器环境或远程连接时:
find
和locate
这对黄金搭档各有绝活:
locate nginx.conf # 查找所有包含"nginx.conf"的路径
优势:
updatedb
建立的索引) locate -i readme # 忽略大小写(i=ignore case) locate -n 5 *.log # 只显示前5个.log文件 locate -r '\.txt$' # 用正则表达式找.txt结尾文件
sudo updatedb # 通常每天自动运行
find /home -name "*.jpg" # 在/home下找jpg文件 find /var/log -type f -size +1M # 找大于1MB的普通文件
find /etc -mtime -7 # 7天内修改过的文件 find ~ -atime +30 # 30天前访问过的文件 find /tmp -cmin -60 # 60分钟内状态变更的文件
find . -maxdepth 2 -name "*.conf" # 只搜索两层目录
find /backup -name "*.old" -delete # 删除所有.old文件 find ~/Downloads -type f -exec chmod 644 {} \; # 批量改权限
# 找7天内修改过、大于100KB的PHP文件 find /var/www -name "*.php" -mtime -7 -size +100k
场景 | 推荐工具 | 理由 |
---|---|---|
找刚删除的文件 | find | locate依赖未更新的数据库 |
搜索整个文件系统 | locate | 比find快几个数量级 |
需要按权限/时间筛选 | find | locate不支持复杂条件 |
临时目录搜索 | find | /tmp通常不在locate数据库 |
模糊搜索:
find / -name "*project*" 2>/dev/null # 屏蔽报错
找大文件释放空间:
find / -type f -size +500M -exec ls -lh {} \;
快速定位配置文件:
locate apache2 | grep conf # 先缩小范围再筛选
-delete
等危险操作,先换成-print
确认 -perm
权限过滤条件 掌握这两件神器后,下次再遇到"文件去哪儿了"的问题,你就可以淡定地敲几下键盘,深藏功与名了,建议现在就在终端开个窗口,边看边实操体验!
本文由 丑依玉 于2025-08-02发表在【云服务器提供商】,文中图片由(丑依玉)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/514230.html
发表评论