前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编程小短文:find,让你随心所欲查找整块磁盘的任意文件

编程小短文:find,让你随心所欲查找整块磁盘的任意文件

作者头像
程序员小助手
发布2020-05-29 16:19:18
4510
发布2020-05-29 16:19:18
举报
文章被收录于专栏:程序员小助手

引言

我们都知道Linux操作系统,一般没有标配桌面窗口。使用 Bash 与操作系统对话。同时,Linux 操作系统,秉持了UNIX操作系统的“一切皆文件”的哲学思想,把各种类型的数据归纳为文件。

那么对于文件数量庞大的 Linux 系统如何快速高效的索引出我们需要查找的对象?这就体现出系统管理的效率水平。

今天我们给大家介绍这个指令——find。无论你是做系统管理或者编写 Bash 脚本文件,它都会是出现频次很高的那个。

用法

下面这个是基本的用法,根据文件名查找。

代码语言:javascript
复制
find -name index.php

还可以对文件名大小写不敏感进行筛选。

代码语言:javascript
复制
find -iname readme.txt

我们还可以根据文件类型进行筛选。下面是几个常用的文件类型标识符。

  • c: 字符设备
  • d: 目录
  • f: 常规文件
  • l: 符号链接

比如根据文件的扩展名查找普通文件。

代码语言:javascript
复制
find / -type f -name "*.log"

也可以根据文件的大小进行筛选。其中文件大小所支持的语义化单位有 c, k, M, G,就是我们常用的单位。

比如查找文件体积大于 1G,且后缀名为mp4的文件。

代码语言:javascript
复制
find / -type f -name "*.mp4" +1G

加号表示大于,相对应的,减号表示小于。

代码语言:javascript
复制
find / -type f -name "*.mp4" -20M

对于文件还有三个属性特别重要,就是

  • atime 最近访问时间
  • mtime 最近修改时间
  • ctime 最近状态更改时间

比如查找最近一周更改过的文件:

代码语言:javascript
复制
find / -atime -7

比如查找最近一天有过修改的文件:

代码语言:javascript
复制
find / -mtime -1

组装起来

下面我们就把上一节所学的筛选项组合起来,形成功能强大的一行代码。

比如服务器上有许多日志文件,我们把那些7天之内没有过修改的,筛选出来,并执行删除。

代码语言:javascript
复制
find /tmp -type f -name "*.log" -mtime +7 -exec rm -f {} \;

写在最后

系统管理的利器,你值得拥有,赶紧实践起来吧。

Happy coding :_)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 用法
  • 组装起来
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档