shell 命令之 find 命令三

本文介绍find命令的高级使用技巧,包括如何根据文件类型、时间戳和大小进行精确搜索。通过组合不同的选项,用户能够实现更为个性化的文件查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

find 最常用的命令也许就是依据,类型,时间戳,文件大小进行查找了,这些命令选项组合使用能达到很好的查找效果

一 依据文件类型查找

find path -type file_type 是按类型查找的通用格式
其中path为要查询的路径, file_type 表示代表某种文件类型的字符。
有关file_type的取值及意义,可以参考下表:

文件类型代表字符
普通文件f
符号链接l
目录d
字符设备c
块设备b
管道s
队列p
所以有以下命令  find . -type d #查找.路径下的所有目录文件
         find . -type f #查找.路径下的普通文件
         find . -type l #查找.路径下的符号链接文件
         ……

二 依据时间戳查找

一个文件肯定有与之相关的修改时间,访问时间这些时间戳信息,我们也可以依据这些时间信息进行查找,比如两天前修改的所有文件,访问的所有文件,改变的所有文件等……

find path time_option time 下面分别解释time_option 和time的取值及含义
下面是time_option 参数的取值及含义

time_option 取值意义
-atime最后被访问的时间
-mtime最后被修改内容的时间,与-ctime的区别是-mtime指的是内容的修改
-ctime最后被改变的时间,改变的内容指文件权限和所有者等属性信息
-amin同-atime
-mmin同-mtime
-cmin同-ctime

前三个选项参数,与后三个的意义相同,不同的是以time结尾的参数的时间单位是天,以min结尾的时间单位是分钟。

下面再看看time的取值及含义
time 的取值是一个数字,这个数字前面可以带上+ ,-符号,和不带,但是表示的含义不同

取值形式意义
+n表示大于n
n表示确切为n
-n表示小于n

这么说,不容易理解,但是结合下面的例子,应该就好理解了

例子含义
find . -atime +7查找7天以前最后一次被访问的所有文件,大于7天
find . -atime 7查找7天前那当天最后一次被访问的所有文件 确切的为7天前那天
find . -atime -7查找7天以内最后一次被访问的所有文件,小于7

表达时间命令的还有一个 -newer选项,这个选项允许提供一个文件作为参考标准。比如我们忘了某个文件是什么时被访问,被修改了,但是我们知道,是在修改某个文件之后进行修改的。
那么就可以使用 -newer选项

find . -newer file.txt # 表示所有修改内容的时间比file.txt的修改时间大的所有文件,比file.txt修改的时间大意思指,最接近于当前时间。

三 依据文件大小

还可以依据文件大小进行查找,选项参数为-size 如:
find path -size size_number
其中size_number 的取值为 [+-]n[bcwkMG]其中n为大于0的整数
什么意思呢?
首先+表示大于n,-表示小于n,[bcwkMG]表示的是文件大小的单位

单位字符意义
b512字节块
c一个字节
w两个字节
kKB为单位 1024字节
MMB 1024KB为单位
GGB为单位
例子含义
+2k文件大小大于2KB, + 表示大于
2k文件大小等于2KB 确切的等于
-2k文件大小小于2KB, -表示小于

至此已经有了依据文件类型,依据时间,依据大小的命令参数用法,合理的组合这些选项参数,可以做出个性化,精确的查找

  find . -type f -size  +2k -atime  -2 # 查找.路径下2天之内访问的文件大小超过2K的所有普通文件
  find . -type d -size -3M  -newer file.txt # 查找.路径下在file.txt修改之后被修改的文件大小小于3M的所有目录文件
……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值