Linux 新手:第一次用 find,找文件先从这三个用法开始

举报
yd_293738966 发表于 2026/11/07 11:41:02 2026/11/07
【摘要】 刚学 Linux 找文件全靠眼睛翻目录?find 命令三个用法就够了:按名字 -name、按时间 -mtime、按大小 -size,再加两个新手常踩的坑,一次讲清。

刚学 Linux,找文件全靠眼睛:cd 进一个目录 ls 看一遍,没有再换下一个,目录一多就崩溃了。其实 Linux 自带找文件的命令 find,三个用法就能覆盖九成场景。
find 的基本样子是这样的:
find 哪里 叫什么
第一个空填从哪里开始找,第二个空填找什么样的文件。比如 find /home -name "*.txt",意思就是从 /home 开始,找出所有名字以 .txt 结尾的文件。注意星号两边的引号要写上,不然 shell 会先把 *.txt 展开,find 拿到的就不是你想要的条件了。
第一个用法:按名字找。-name 后面跟文件名,支持星号通配。想找所有叫 nginx.conf 的配置文件,写 find /etc -name "nginx.conf"。只记得名字里有 nginx,写 find /etc -name "*nginx*"。大小写不确定时,把 -name 换成 -iname,它不区分大小写。
第二个用法:按时间找。刚改过的文件最难找,因为你不记得放哪了,只记得“昨天刚改过”。这时用 -mtime:find . -mtime -1,找出当前目录下 24 小时内改过的文件。数字前面加减号有讲究:-1 是一天以内,+7 是七天以前,不加符号就是正好那一天。配合名字用更准:find . -name "*.log" -mtime -7,意思是一周内改过的日志文件。
第三个用法:按类型和大小找。磁盘满了想找大文件清空间,写 find /var -size +100M,找出大于 100MB 的文件。+100M 是大于,-10k 是小于 10KB。只想找目录不想看文件,加 -type d;只想找文件,加 -type f。
新手第一次用 find,通常会被满屏的 Permission denied 吓一跳。这不是你敲错了,只是有些目录你没有权限进去看。想让输出干净一点,在命令最后加 2>/dev/null,把报错丢掉,只留结果:find / -name "*.conf" 2>/dev/null。
记住这三个就够了:-name 按名字、-mtime 按时间、-size 按大小。抄下来用几次,下次找文件就不用一个目录一个目录翻了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。