find命令
find [起始目录] 寻找条件 操作
有种表述方式:find PATH OPTION [-exec COMMAND { } \;]
find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归搜索,命令中的寻找条件可以使一个用逻辑运算符not、and、or组成的复合条件。
<1>and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件满足时,寻找条件才算满足。例如:
find -name 'tmp' -xtype c -user 'inin'
该命令寻找三个给定条件都满足的所有文件
<2>or:逻辑或,在命令中用“-o”表示,该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:
find -name 'tmp' -o -name 'mina*'
该命令查询文件名为’tmp‘或是匹配’mina*‘的所有文件
<3>not:逻辑非,在命令中用”!“表示,该运算符表示查找不满足所给条件的文件。例如:
find ! -name 'tmp'
该命令查询文件名不是’tmp‘的所有文件。
需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在括号前不要加转义字符”\“来去除括号的意思。
例如:
find \ (-name 'tmp' -xtype c -user 'inin' \)