%e6%9c%aa%e5%88%86%e7%b1%bb category
Linux find查找文件命令详解
发表于:2012年07月24日  分类:未分类  添加评论  786 次浏览 

名称 : find
  用法 : find
  使用说明 :
  
  将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
  
  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为你想要找的字符串

    转载请注明《文章来源:http://www.centos.bz/2011/09/linux-find/

    固定链接: http://anywang.vicp.net:8180/wp/?p=263 | 网邻's Blog

    给我留言


    / 快捷键:Ctrl+Enter

    留言没头像?这里教你设置头像!