Linux学习历程——Centos 7 find 命令

时间:2021-07-27 17:02:38

一、命令介绍

find 命令用于按照指定条件来查找文件。

一些比较常用参数如下表

参数

作用

-name

匹配名称

-perm

匹配权限mode为完全匹配( –mode包含即可)

-user

匹配所有者

-group

匹配所有组

-mtime –n +n

匹配修改内容时间(-n n天以内 +n n天之前)

-atime –n +n

匹配访问内容时间(-n n天以内 +n n天之前)

-ctime –n +n

匹配修改文件权限时间(-n n天以内 +n n天之前)

-nouser

匹配无所有者文件

-nogroup

匹配无所有组文件

-newer file1 !file2

匹配比file1新 比file2旧的文件

--type b/d/c/p/l/f

匹配文件类型(参数依次块设备、目录、字符设备、管道、链接文件、文本文件)

-size

匹配文件的大小(+为超过设定值大小的文件,-为小于设定值大小的文件)

-prune

忽略某个目录

-exec…………{}\;

后面可跟用于进一步处理搜索结果的命令

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、实例

想要搜索 /etc 目录下 ,文件名以pass开头的文件有哪些,我们该如何操作呢?

find  /etc -name "pass*"

Linux学习历程——Centos 7 find 命令

可以看到,当我执行完上述命令后,/etc 及其子目录下所有文件名以 pass 开头的文件就全部列出了

如果我们想要搜索 /home 目录下所有的一般文本文件,该怎么操作呢?

find   /home -type f

Linux学习历程——Centos 7 find 命令

我们要搜索 /home 目录下 修改时间是天内的文件,

find  /home -mtime - 1

Linux学习历程——Centos 7 find 命令

同理, -a  -c 参数 根据自己不同的筛选条件来使用。

查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件,并显示出这些文件的文件类型。

 find  -type f -perm 644 -exec file  {} \;

Linux学习历程——Centos 7 find 命令

-exec ....... {}\; 参数类似于管道符 上述我们按照我们筛选的条件找出文件 ,利用-exec....{}\; 命令连接 file命令,实现查看文件类型。

接下来我们查找当前目录小于5K的文件,并列出文件详细信息

find -size -5k  -exec ls -l {} \;
Linux学习历程——Centos 7 find 命令

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

三、总结

在Linux系统中,搜索工作一般都是通过find来完成的,find命令可以以不同的文件特性作为匹配条件,所有find命令非常强大,

想要熟练自如的运用Linux命令,只能通过不断的练习。

我是一个刚刚接触Linux的小白,我与你们一起学习,一起进步!

文章不当之处,望各位指正