find 详解

2009-05-13 12:36:33来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

语法:
[url=javascript:;]find[/url]
[起始目录] 寻找条件 操作
    说明:find命令从指定的起始目录开始,
[url=javascript:;]递归[/url]
地搜索其各个子目录,查找满足寻找条件 的文件并对之采取相关的操作。 该命令提供的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:
    (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' \)
    该命令的各选项含义如下:
    首先,下列各个选项中的 n 值可以有三种输入方式,假设 n 为20,则:
      +20 表示20以后(21,22,23等)
      -20 表示20以前(19,18,17等)
       20  表示正好是20
    以名称和文件属性查找。
      -name '字串'  查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。
      -lname '字串' 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。
      -gid n          查找属于ID号为 n 的用户组的所有文件。
      -uid n          查找属于ID号为 n 的用户的所有文件。
      -group '字串' 查找属于用户组名为所给字串的所有的文件。
      -user '字串'  查找属于用户名为所给字串的所有的文件。
      -empty          查找大小为 0的目录或文件。
      -path '字串'  查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
      -perm 权限    查找具有指定权限的文件和目录,权限的表示可以如711,644。
      -size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。
      -type x   查找类型为 x 的文件,x 为下列字符之一:
        b 块设备文件
        c 字符设备文件
        d 目录文件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:OpenBSD4.2中的expat 库依赖问题

下一篇:Postfix - setting up two outgoing mail servers