Linux下的文件查找命令——find

find          实际搜寻硬盘查询文件名称 

通常情况下find命令并不是很常用,大家都优先使用whereislocate命令来查找,因为whereislocate命令都是利用数据库来查找文件所在,并没有实际查询硬盘,所以速度很快,节省时间。但是我们的find命令依然很强大,它的查找条件相当多,对于用其他命令查找不到的文件,就可以考虑使用find命令在硬盘上遍历查找,虽然速度慢效率低。


find(用于在文件树中查找文件,并进行相应操作)

格式: find  [PATH]  [option]  [action]

[PATH] : 所要搜索遍历的目录,默认为当前目录

[option] : 所要搜索文件的条件特征

[action] : 对搜索结果进行特殊处理

 

  • 为了缩短指令的执行时间,要尽量缩小查找的起始目录。因为find指令使用递归的方式遍历目录,所以起始目录范围较大,会导致find指令的运行时间过长。

  • 不加任何参数时,默认遍历当前目录及其子目录,将它们全都显示在屏幕上。

    wKioL1dCWl3SofoVAAA5MiRLna4761.png

1. 与时间有关的参数

-amin   n   :查找n分钟内被访问过的文件

-cmin   n   : 查找n分钟内被修改过文件状态的所有文件

-mmin   n   : 查找n分钟内被修改过文件内容的所有文件

-atime  n   : 将n天内存取过的的文件列出来 
-ctime  n   : 将n天内改变、新增的文件或者目录列出来 
-mtime  n   : 将n天内修改过的文件或者目录列出来 
-newer  file :把比file还要新的文件列出来 (可用来分辨两个文件之间的新旧关系)


除此之外,以-mtime为例:(类比使用其他与时间有关的参数)

-mtime n :列出n天前的那一天被更改过的文件

-mtime +n :列出n天之前(不包含n天本身)被更改过的文件

-mtime -n :列出n天之内(包含n天本身)被更改过的文件

-mtime 0 : 0代表当前时间,即列出从现在开始到24小时前之间的被更改过的文件

 wKiom1dCXC6wgKA-AABBQOLxxT4209.png

2.与用户或用户组名有关的参数

-uid [n] :寻找拥有者ID为n的文件

-gid [n]  :寻找用户组ID为n的文件

-group [name] :寻找群组名为"name"的文件

-user [name] : 寻找用户名为"name"的文件

-nouser  : 寻找文件所有者不存在 /etc/passwd 的人(可以查找不太正常的文件)

如果你的某个账户删除了,该账户曾经建立的文件就成了无主的非正常文件这时候可以利用 -nouser 来找出该类型的文件

wKiom1dCYNXDPrlhAABkMZw4sQk881.png

3.与文件权限及名称有关的参数

(1)-name [filename] :查找文件名filename的文件

wKioL1dCYriBteNUAABP4aRoSqM480.png

从以上的例子中我们可以看出,find命令需要一个路径名作为查找范围,find会深入到这个路径的每一个子目录中去寻找,打印文件的绝对路径。

如果指定路径为“/”,就查找整个文件系统。-name选项指定了文件名,-printf表示将结果输出到屏幕上,-type选项用来定位特殊文件类型。

(2)-size [+ -]SIZE  : 查找比"SIZE"还要大(+)或小(-)的文件 

    (SIZE的规格有:① c :代表byte ②k :代表1024 bytes) ; 

    要找比50k还要大的文件时就用" -size  +50k"

(3)-type [TYPE]    :查找文件类型为TYPE的文件

  -type选项常见的参数:

参数 含义
b 块设备文件
c 字符设备文件
d 目录文件
f 普通文件
p 命名管道
l 符号链接

(4)-perm [mode]  : 查找文件权限刚好等于"mode"的文件,这个"mode"为类似chmod的属性值

            -perm [+mode] :  查找文件权限全部包含“mode”权限的文件

            -perm [-mode] :  查找文件权限包含任一“mode”权限的文件

wKiom1dCY_uiKRHHAAA0kVNLXRY419.png

4.其它

-exec [command]  : command为其他命令,-exec后面可接其它的命令来处理查找到的结果。

       -exec 到 “ \; ”之间是关键字,代表find额外命令的开始到结束,这两者之间就是find命令的额外命令

-print  :将结果打印到屏幕上(默认操作)

wKiom1dCZIKgCTY4AAA0xlZ-BDs846.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值