find 命令的用法

来源:互联网 发布:windows phone 8手机 编辑:程序博客网 时间:2024/05/16 08:41

      find命令在众多linux命令中应用广泛,它用于在系统中查找一些具有某种特征的文件


find 的命令一般形式为:

find pathname -options [-print -exec -ok]

其中:

pathname表示查找的路径;

-print 将查找的文件输出到标准输出,就是屏幕上;

-exec 对find匹配出的文件执行shell命令,具体形式为"-exec command {} \;";

-ok 与-exec相同的作用,不过在执行每个命令前,都会让用户选择是否去执行;


find命令查找文件的形式有很多种,它们分别是:

-name 按照文件名查找文件;

用法:find  /root -name "*.txt" -print (查找root目录下所有以.txt结尾的文件并输出)

-perm 按照文件的权限查找文件;

用法:find /root -perm 777 -print (查找root目录下权限为777的文件)

-prune 忽略某些目录进行查找;

用法:find /root -name "/root/en" -prune -o print(在root目录下查找并忽略root/en下的的文件)

-user 按照文件属主查找文件;

用法:find /root -user root -print(在root目录下查找文件属主为root的文件)

-group 按照文件所属的组来查找文件;

用法:find /root -group root -print(在root目录下查找用户组为root的文件)

--mtime -n +n 按照文件更改的时间来查找文件;

用法:find /root -mtime -3 -print(查找更改时间在3日内的文件)

            find /root -mtime +3 -print (查找更改时间在3日前的文件)

-nogroup:查找不存在/etc/groups 中组的文件,用法与-group类似

-nouser:查找不存在在/etc/passwd中用户的文件,用法与-user类似

-newer file1 ! file2:查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件

-type 查找某一类型的文件,有:b-块设备文件,d-目录文件,c-字符设备文件,p-管道文件,l-符号链接文件,f-普通文件

用法:find /etc -type d -print (查找etc目录下所有的子目录)


使用-exec选项执行命令:find /root -name "a1.txt" -exec ls -l {} \;

下面是一些选项命令的示例:

在root目录下查找名称为a1.txt的文件

在root目录下查找权限为111并且有suid的文件

查找root/en目录下的类型为普通的文件并执行ls -l 命令

查找root/en目录下类型为普通的文件并搜索文件中"helloworld"字串


其中xargs命令的作用是分次获取文件,这样可以避免exec执行时对其命令长度的限制。


原创粉丝点击