Linux下find指令

Linux是一个“一切皆文件”的操作系统,find(查找文件)指令就尤为重要了。find命令在目录结构中搜索文件,并执行指定的操作。

1.命令格式:

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

2.命令功能:

用于在文件树中查找文件,并作出相应的处理。

3.命令参数:

pathname:find命令所查找的目录路径。

-print: find命令将匹配的文件输出到标准输出。 


-exec: find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为'command' { } ;

-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

1)按文件名查找文件 -name

 

2)按文件权限查找文件 -perm 

3)按文件属主和所属组查找文件 -user -group

    -user 按照文件属主来查找文件。

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

4)按文件时间查找文件 -mtime   -ctime   -atime

    -mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。

    find命令还有-atime和-ctime选项,但它们都和-mtime选项相似,所以我们在这里只介绍-mtime选项。

5)按文件类型查找文件 -type

    文件类型如:b-块设备文件;d-目录;c-字符设备文件;p-管道文件;l-符号链接文件;f-普通文件;s-socket文件。

6)按文件大小查找文件 -size n[c] 

    -size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

7)按文件深度查找文件 -depth  -maxdepth   -mindepth

    -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

   说明:find . -depth -name "FILE" –print   它将首先匹配所有的文件然后再进入子目录中查找FILE。

    在根目录分级查找:

    -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。

原文地址:https://www.cnblogs.com/guochuanrui/p/5515158.html