linux查找最老文件,Linux下最强大的文件查找工具find

今天带大家一起来学习linux下最强大的文件查找工具-find。find可以从文件名、读取修改时间、大小、类型等等来筛选文件,可以完成日常几乎所有的查找需求。

先来看一个简单的例子:

find /tmp/ -name 'galeki*'

意思就是在/tmp目录下找出以“galeki”开头的文件,-name指出是对文件名进行筛选,是不是很简单明了?除了文件名,find还有更强大的筛选条件:

1.时间:

参数

意义

-atime n

上一次存取时间在n*24小时前以内的文件

-ctime n

上一次状态改变在n*24小时前以内的文件

-mtime n

上一次修改时间在n*24小时前以内的文件

-newer file

比file所指的文件还要新的文件

2.大小:

参数

意义

-sizen[bkMG]

大小为n(b为比特,k为KB,M为MB,G为GB)的文件

3.所有者:

参数

意义

-user name

所有者用户名称是name的文件

-group name

所有者用户组群名称是name的文件

例子:

find /tmp/-name 'sess*' -mtime 1   #在/tmp目录下找到所有以'sess'开头、并且在一个小时以内修改过的文件

find ./-name '*.zip' -size 546k       #在当前目录下找到所有546KB的zip压缩包文件

find /tmp/-user 'galeki'               #在/tmp目录下找到所有所有者为galeki的文件

另外,还可以用"+"、"-"来进一步修饰时间和大小的条件:

find src/-mtime +2            #找出src目录下上一次修改时间在2天以前的文件

finddownload/ -size +50M    #在download目录下找出大于50M的文件

光找出文件还不够,我们还要对找出的文件进行处理才有意义,一般来讲可以把find的查找结果传递给其他的命令做进一步处理。find本身也提供了许多处理动作的选项。

常用的处理动作:

参数

意义

-print

打印出找出文件的完整地址,一个文件一行

-delete

删除找出的文件

-execcommand {} \;

对每一个找到的文件执行command命令,

并用文件替换"{}",“\;”是固定的结束符。

例子:

find /tmp/-ctime +7 -delete            #删除/tmp目录下一周以前创建的文件

find ./-name '*.unk' -exec file {} \;   #找出当前文件夹下后缀是unk的文件,并用file命令显示每个文件的文件类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值