Linux 新手:第一次用 find,找文件先从这三个用法开始
刚学 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 按大小。抄下来用几次,下次找文件就不用一个目录一个目录翻了。
- 点赞
- 收藏
- 关注作者
评论(0)