find 命令的一般形式: find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
其中[-H] [-L] [-P] [-D debugopts] [-Olevel]
并不常用,path
是find命令所查找的目录路径,默认是当前目录,可以指定多个搜索目录,expression
可以分为:-options [-opertaions ...]
。
find
命令还支持-a, -o, \( exp \)
来组合选项,-a, -o
分别表示逻辑与和逻辑或,\( exp \)
用于指定优先级。默认情况下,各个选项之间的bool值是逻辑与的关系。
-opertaions
选项详解
-print
,每个结果文件名单独一行输出到标准输出。默认操作。-
-fprint outfile
,与-print
一样,只是将结果输出到outfile。 -
-exec cmd
,find命令将对匹配的文件执行该参数所给出的shell命令。一般模式为:'cmd' {} \;
,{}
表示匹配的结果,即文件名,{
和}
之间不能有空格;\;
是必须的,表示命令的结束;{}
和\;
之间有空格。例如:find ./ -size 0 -exec rm {} \;
删除大小为0的文件。 -
-ok cmd
,同-exec
一样,但是先询问用户(在标准输入),假如应答不是以y
或Y
开头,将不执行command,返回假。 -
-ls
,将搜索到的结果用ls -l
命令形式的结果输出到标准输出。 -
-fls outfile
,同-ls
选项一样输出,只是结果输出到outfile。 -
-print0
,在标准输出上输出整个文件名,并后加一个空字符。则允许其他程序能正确处理在find输出中包含新行的文件名。 -
-fprint0 outfile
,与-print0
一样,只是输出到outfile。 -
-printf format
,格式化输出到标准输出。