| 参数 | 描述 |
| pathname | find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 |
| find命令将匹配的文件输出到标准输出。 | |
| -exec | find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command {} /;,注意{ }和/;之间的空格。 |
| -ok | 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否 |
| option | 描述 |
| -name | 按照文件名查找文件 |
| -perm | 按照文件权限来查找文件 |
| -user | 按照文件属主来查找文件 |
| -group | 按照文件所属的组来查找文件 |
| -mtime -n +n | 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n 表示文件更改时间距现在n天以前。Find命令还有-atime和-ctime选项,但它们都和-mtime选项相似,所以我们在这里只介绍-mtime选项 |
| -type | 查找某一类型的文件,比如:b - 块设备文件;d - 目录;c - 字符设备文件;p - 管道文件;l - 符号链接文件;f - 普通文件 |
| -size n[c] | 查找文件长度为n块的文件,带有c时表示文件长度以字节计 |
| 命令 | 描述 |
| find . -name "*.txt" -print | 在当前目录及子目录中查找所有的'*.txt'文件 |
| find . -name "[A-Z]*" -print | 当前目录及子目录中查找文件名以一个大写字母开头的文件 |
| find /etc -name "host*" -print | 在/etc目录中查找文件名以host开头的文件 |
| find . -name "[a-z][a-z][0--9][0--9].txt" -print | 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是*.txt的文件 |
| find . -size +1000000c -print | 在当前目录下查找文件长度大于1 M字节的文件 |
| 命令 | 描述 |
| find logs -type f -mtime +5 -exec rm {} /; | 在/logs目录中查找更改时间在5日以前的文件并删除它们 |
| find / -type f -size 0 -exec ls -l {} /; | 系统中所有文件长度为0的普通文件,并列出它们的完整路径 |
| find /var/logs -type f -mtime +7 -exec rm {} /; | 查找/var/logs目录中更改时间在7日以前的普通文件,并删除它们 |
| find . -name "core" -print | xargs echo "" >/tmp/core.log | 在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中 |
| find / -type f -print | xargs grep "device" | 用grep命令在所有的普通文件中搜索device这个词 |