Linux中find的常用指令的用法及作用

  Linux中find的指令尤为重要,所以我们要对find指令的一些常用指令进行了解以及熟练使用,这对Linux的使用有着至关方便的作用,学习完find的一些指令并会熟练使用时,你就会发现Linux这个平台上查找实在是太方便了,再或许,你可能会觉得相比Windows,操作起来实在是更显得更有范儿!
试试就知道了,以下的指令中如果没有确切说明,那么“<>”这对括号只是为了区分而使用的
1.>find -name <文件名>:会输出查找的文件所在的目录
为了使用起来明显,我先创建了一个很深的目录,然后创建了一个文件,最后返回主工作目录查询这个文件,效果如图:
这里写图片描述

find -name “fi*” 注意引号要有
查找该目录下以“fi”开头的文件
这里写图片描述
当然也有查找以“xx”结尾的文件
例如:find -name “*.c”
这里写图片描述
2.>find -perm <文件权限>
因为Linux默认文件权限是664,我们不妨在一个目录下查找一下
会发现,会将当前目录中所有满足条件的文件输出。
这里写图片描述
3.>find -user <用户名>
这条指令会输出当前目录下的所有文件、目录以及当前工作目录下的所有字目录和子目录里面的文件
这里写图片描述
4.>find -group <所属组名>
跟上条指令相似,约束条件不同
这里写图片描述
5.>find -mtime <天数>
所用指令:find -mtime -3 -ls -exec {} \;
这里写图片描述
<- n>查询n天内文件更改过的的文件
<+n>查询n天前文件更改过的的文件(为了显示明显,我在主工作目录下进行查找的,所以文件一大堆)
6.>find -atime <天数>
所用指令:find -atime -3 -ls -exec {} \;
这里写图片描述
<-n> <+n>均和-mtime的条件约束相同,区别在于查询的是n天内/n天前所访问的文件
7.> find -ctime <天数>
所用指令:find -ctime -3 -ls -exec {} \;
这里写图片描述
<- n> <+n>均和-mtime的条件约束相同,区别在于查询的是n天内/n天前所创建的文件
写到这,有没有人发现一个问题,我使用的都是三天以内的时间,为什么这三个截图中还有不在三天以内的时间?
具体原因是,不在3天内的文件都是目录文件,而这个 目录里面存在3天内访问/创建/修改的文件,所以就会显示这个目录的信息。读者可以返回看看这个文件的详细信息中第一个字符是否‘d’。
还有,这里的“ctime”、“mtime”、“atime”哈可以写成“cmin”、“mmin”、“amin”,当然这样表示的就是分钟了。
8.>find -nouser
9.>find -nogroup
这里写图片描述
两个分别是查找无有效拥有者和无有效所属组的文件,即文件的属主在/etc/psaawd不存在或者文件的属组在/etc/group中不存在。
因为我的系统不存在这两种文件,所以没有任何显示
10.>find -newer <文件名>
查询修改时间早于该文件的修改时间的文件或目录。
这里写图片描述
11.>find -type b/d/c/l/p/f
查找当前目录下的目录/块设备/字符设备/链接文件/管道文件/普通文件
这里写图片描述
12.>find -size <大小c>
查询大小为输入大小字节的文件,下面是我先用“ll”指令先获取一个确定的文件的大小,然后再查找。

13.>find -size <-大小>/<+大小>
<- 大小>表示查找的问价比输入的这个大小还小的文件
<+大小>表示查找的问价比输入的这个大小还大的文件
这里写图片描述
二者也可以同时用
14.>find -depth
是查找在进入子目录之前先查找完本目录中符合约束条件的文件,可以在之后跟上其他约束条件
我的/linux中有一个名为file的文件,然后我再/linux/dir1中有创建了一个file文件,在返回/linux目录下,查找file文件,可看到会优先返回当前目录下符合条件的文件。
这里写图片描述
find -name file -maxdepth 2
表示最多查找的层数为2

find -name file -mindepth 2
表示从第2层开始查找
这里写图片描述
所以使用maxdepth时没有./linux/dir1/file,是因为dir1这个目录下的文件已经算是第3层了,但是我们的约束条件是只查找到第2层。
15.>find -empty
查找空白文件、空白文件夹、没有子目录的文件夹
这里写图片描述
16.>find -false
查找系统中总是错误的文件
不存在就没有显示
这里写图片描述

小结:
   这里的命令都可以多个“混用”,但是这个“混用”是可以一次使用多个命令,例如:find ~/code -perm 644 -size 100c -user dlm -exec ls -l {} /;这条指令的作用是查找code目录下文件权限是644、用户名为dlm、文件大小为100字节的文件;而且也可以在find的后面加上制指定目录,即使你再A目录,你也可以查找B目录下的文件。假如不加目录的话,则默认是在当前目录下;还有文中指令用到的“-exec {} \;”(注意 “{}” 与 “\” 之间有个空格)是让查询出来的结果显示出来,一条一条刷出来,如果还想查看详细信息的话,可以在添加一个“-ls”,可能有的版本是“-ls -l”,根据版本不同,大家自己挖掘。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值