会计考友 发表于 2012-8-4 12:07:07

Linux辅导:档案目录管理Find

呼吁行一向是Linux用户用来解决问题的首要选择,今天给巨匠介绍一下Linux系统中的Find呼吁。正如它的名字所暗示的,find是在磁盘中查找知足给定尺度的文件和目录的应用轨范。默认情形下,它从当前目录起头,向下扫描所有子目录。Find基于各类分歧的文件属性来进行发芽,而且可以对发芽结不美观执行某种操作,凡是是对每个发芽结不美观运行一些轨范。   find按照下列轨则判定 path 和 expression,在呼吁列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如不美观 path 是空字串则使用今朝路径,如不美观 expression 是空字串则使用 -print 为预设 expression。
   expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
    -mount, -xdev : 只搜检和指定目录在统一个档案系统下的档案,避免列出其它档案系统中的档案
    -amin n : 在曩昔 n 分钟内被篡夺过
    -anewer file : 比档案 file 更晚被篡夺过的档案
    -atime n : 在曩昔 n 天过篡夺过的档案
    -cmin n : 在曩昔 n 分钟内被改削过
    -cnewer file :比档案 file 更新的档案
    -ctime n : 在曩昔 n 天过改削过的档案
    -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
    -ipath p, -path p : 路径名称合适 p 的档案,ipath 会忽略巨细写
    -name name, -iname name : 档案名称合适 name 的档案。iname 会忽略巨细写
    -size n : 档案巨细 是 n 单元,b 代表 512 位元组的区块,c 暗示字元数,k暗示 kilo
    bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
    d: 目录
    c: 字型装配档案
    b: 区块装配档案
    p: 签字贮列
    f: 一般档案
    l: 符号连结
    s: socket
    -pid n : process id 是 n 的档案
    
  你可以使用 ( ) 将运算式分隔,并使用下列运算。
    exp1 -and exp2
    ! expr
    -not expr
    exp1 -or exp2
    exp1, exp2
    典型:
  将今朝目录及其子目录下所有延长档名是 c 的档案列出来。
     # find . -name "*.c"     
  将今朝目录其其下子目录中所有一般档案列出
     # find . -ftype f
  
  将今朝目录及其子目录下所有比来 20 分钟内更新过的档案列出
    # find . -ctime -20  
    find . -name "*" -exec grep xxx {} ; -print  morexxx为你想要找的字符串
  让我们来看一些例子:首先,为了在当前目录或子目录中查找所有html文件,我们可以使用:find -name "*.html" -type f
  该呼吁有两个测试前提,第一个,“-name”用于磨练搜索过程中的每个文件名,如不美观你需要对巨细写敏感,可以使用“-iname”庖代。第二个参数是“-type”,它用于指定你感乐趣的文件类型。“f”暗示我们查找的是通俗文件,我们可以使用“d”暗示目录或使用“l”暗示符号毗连。在find 手册中可以看到该工具的所有选项。
页: [1]
查看完整版本: Linux辅导:档案目录管理Find