Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30GB以上的文件系统)。

1、 命令功能:

查找目录和文件

2、 命令格式:

find  路径  -命令参数 [输出形式]

3、 常用参数与小案例

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

 

 

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

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

 

4)-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件

  

5)-user 按照文件属主来查找文件

 

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

   -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
   -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在

 

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

    

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

 

8)-exec find命令对匹配的文件执行该参数所给出的其他linux命令。相应命令的形式为' 命令 - and' {} \;,注意{ }和\;之间的空格

    

9)find命令中的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:
  A、and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:
 find -name 'tmp' -xtype c -user 'inin'
说明:该命令寻找三个给定条件都满足的所有文件
  B、or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:
find -name 'tmp' -o -name 'mina*'
说明:该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。
  C、 not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:
find ! -name ’tmp’

 

其他参数工作有需要使用到的可以用man  find来查看~~~