Linux中与文件查找相关命令

 在Linux操作系统中,我们经常会遇到这样的情况:我们创建了一个文件,然后过了几天需要再用文件的时候忘了文件放在哪儿了。因此,我们就需要做文件查找。需要用到以下命令。
 一,locate
 特点:根据数据库,做非实时查找,查找结果不精确,但速度快;
 怎样使用:locate KEYWORD
   -c KEYWORD 统计匹配到的文件个数;
   -n KEYWORD 匹配前n个;
 另:使用命令updatedb 手动生成locate所依赖的数据库;
 二,find
 特点:实时查找,精确但速度慢;
 怎样使用: find [dir1(路径),...] [criteria(查找标准),...] [action(查找到后的操作),...]
 eg:find /etc -name "passwd"
  1)Criteria(查找标准):
 -name NAME 精确查找 文件名有空格得用双引号引起来;支持globbing方式的文件名通配,*:匹配任意长度的任意字符;?:任意单个字符。
 eg:find /etc/ -name "passwd*"
 -iname 不区分文件名中字母的大小写
 -regex “PATTERN”查找符合模式的文件名
 -user USERNAME 根据用户名查找
  eg:find /tmp -user redhat 查找/tmp下属主是redhat的文件;
 -group GRPNAME 根据属组查找
 -uid
 -gid
 -nouser  查找没有属主的文件
 -nogroup 查找没有属组的文件
 -type    f
  d
  l
  b
  c
  p
  s
 eg:find /tmp -type s 查找/tmp下文件类型为套接字文件的文件
 2)组合条件:
  -a 与
  -b 或
  -not 非
 (!!!注:“非”的优先级最高 然后是“与”最后是“或”)
 eg:find /tmp -not -user redhat
     find /tmp -not \( -user redhat -o -iname "*lc*" \)
 -size n(K,M,G)  按文件大小查找;
 eg:10M-->9-10M
    -10M-->小于10M
    +10M--> 大于10M
  3)-atime n-->文件距离上一次被访问n天;
  -n ---n天内
  +n ---至少3天 
 -mtime n --文件被修改
 -ctime n --文件被改变
 -amin  n  --与atime 对应 单位为分钟
 -mmin n
 -cmin n
 4)-perm
  eg:-perm 755 精确到755,匹配文件的权限位755的文件
             +755 |/755 --任何一类用户某一个权限位符合条件
      -755 --所有类别用户的所有权限位符合条件;
 5)action
  -print  默认值 将匹配到的内容显示出来
  -ls   --以长格式显示文件属性信息
  -ok --提醒确认
  -exec --查找到文件后执行命令;
   eg: -exec rm {} \;
 (注:{} 文件名引用符;\;--结束符)
     6)xargs 通过管道接受find命令查找的结果
  eg:find /tmp -perm 644 | xargs chomd 755 --将find搜索到/tmp 下的文件权限位644的文件并将其权限修改为755.
总结:以上便是与文件查找的相关的两个命令;可以看出find的功能很强大,也很好用,也将是我们今后常用的命令。
 
 

你可能感兴趣的:(linux,数据库,操作系统,文件查找,休闲)