find命令选项:
1. -name
按照文件名查找文件。比如:在code目录及其子目录下查找file文件,并且在当前目录及其子目录中查找扩展名为“c”的文件。
2. -perm
按照文件权限来查找文件。比如:在当前目录下查找文件权限位为755的文件,即文件拥有者可以读、写、执行,所属组和其他用户可以读、执行的文件
3.-prune
使用这一选项可以使find命令不在当前指定的目录中查找
find /code-path "/code/bin" -prune -o –print 在/code目录下查找文件,但不希望在/code/bin目录下查找
4. -user
按照文件拥有者来查找文件。
find ~ -user code –print 在$HOME目录中查找文件拥有者为code的文件
5. -type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
find code-type d –print 在code目录下查找所有的目录
find . ! -type d –print 在当前目录下查找除目录以外的所有类型的文件
find code -type l –print 在code目录下查找所有的符号链接文件
6. -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
find . -size +1000000c –print 在当前目录下查找文件长度大于1 M字节的文件
find . -size +10 –print 在当前目录下查找长度超过20块的文件(一块等于512字节)
7. -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
find / -name "CON.FILE" -depth –print 它将首先匹配所有的文件然后再进入子目录中查找
8. -exec
find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。find ./ -size 0 -exec rm {} \; 删除文件大小为零的文件 (还可以以这样做:rm -i `find ./ -size 0` 或 find ./ -size 0 | xargs rm -f &) 。为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中:find . -type f -exec ls -l { } \; 在code目录中查找更改时间在5日以前的文件并删除它们:find code -type f -mtime +5 -exec rm { } \;