伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

Linux系统强大的查找命令find用法

来源:本站原创 浏览:73次 时间:2022-11-16

Linux系统下find是最常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对运维工作很有用处。

find常用参数

-exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和\;之间的空格。-name filename 查找名为filename的文件-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n 按文件访问时间来查-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n天以前-type b/d/c/p/l/f 查是块设备、目录、字符设备、管道、符号链接、普通文件-size n[c] 查长度为n块[或n字节]的文件-mindepth -maxdepth 选项允许您指定您希望 find 搜索深入到目录树的哪一级别

案例分享
今天在编写MySQL数据库备份脚本时,就遇到一个难题,要清理14天前的备份文件。大家可能觉得这不是很简单的事情吗,用find找出,然后加xargs rm -rf就可以自动删除了。

可事情不是这么简单,下面我来给大家介绍一下需求,我就想找到/home/mysql/backup/physical目下,14天的目录,并删除。

[mysql@localhost physical]$ pwd/home/mysql/backup/physical[mysql@localhost physical]$ ls -ltotal 0drwxr-x--- 3 mysql mysql 31 Mar 23 02:30 202003230230drwxr-x--- 3 mysql mysql 31 Mar 23 02:33 202003230233

用普通的find参数,试试效果

[mysql@localhost physical]$ find /home/mysql/backup/physical -type d -mtime +14/home/mysql/backup/physical/home/mysql/backup/physical/202003230230/home/mysql/backup/physical/202003230230/base_202003230230/home/mysql/backup/physical/202003230230/base_202003230230/mysql/home/mysql/backup/physical/202003230230/base_202003230230/sys/home/mysql/backup/physical/202003230230/base_202003230230/testdb/home/mysql/backup/physical/202003230230/base_202003230230/performance_schema/home/mysql/backup/physical/202003230233/home/mysql/backup/physical/202003230233/base_202003230233/home/mysql/backup/physical/202003230233/base_202003230233/mysql/home/mysql/backup/physical/202003230233/base_202003230233/sys/home/mysql/backup/physical/202003230233/base_202003230233/testdb/home/mysql/backup/physical/202003230233/base_202003230233/performance_schema

可是我知晓找到下面2个目录,并不需要找到下级目录,很明显,find找的目录多了。

[mysql@localhost physical]$ lltotal 0drwxr-x--- 3 mysql mysql 31 Mar 23 02:30 202003230230drwxr-x--- 3 mysql mysql 31 Mar 23 02:33 202003230233

怎么办,我用man find看用法时,发现有2个参数-mindepth -maxdepth,可以控制查询的层级,对于解决这个需求,非常的有用,来试试效果

[mysql@localhost physical]$ find /home/mysql/backup/physical -mindepth 1 -maxdepth 1 -type d -mtime +14/home/mysql/backup/physical/202003230230/home/mysql/backup/physical/202003230233

到这里,已经非常完美的解决了我的需求,在加上xargs rm -rf就可以了

[mysql@localhost physical]$ find /home/mysql/backup/physical -mindepth 1 -maxdepth 1 -type d -mtime +14| xargs rm -rf

这个技能你学到了吧。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net