首页 > 代码库 > 文件查找

文件查找

                                                   文件查找

        不论是什么操作系统,我们经常有这样的需求---查找文件。我们在找文件的时候可以根据很多条件查找比如说:按照文件创建日期、文件大小、文件名等....。那么下面我跟大家分享下Linux系统下的文件查找。


        1.whatis ls   
基于数据库  makewhatis

查看命令所处man手册所在章节和功能

2.which  /bin/ls  

查看二进制命令的绝对路径
 
3.locate  文件名  

a.可以模糊匹配
b.基于数据库 需要更新数据库 updatedb
c.快速但需要数据库

4.find

语法:
find  查询的路径   查找的条件    逻辑表达式   连接符
 
如果不指定路径就表示当前路径  在超找的时候是递归查找

普通用户在超找文件的时候需要对目录有r-x的权限
 
条件:
      -name
      -uid n
      -gid n
      -user uname
      -group gname
      -readable  可读
      -writable  可写
      -name pattern
      -inum n(inode)  
      -perm mode(=+-)
      -size n[cwbkMG]
      -type
      -amin
      -mmin
      -cmin
      -atmie
      -mtime
      -ctime


ACTIONS
       -delete
       -exec command ;
       -ok command ;

逻辑表达式       
       -not expr
        ! expr
        expr1 -and/-a expr2
        expr1 -or/-o expr2
 
       
1.按照文件名查找
find -name a.txt

2.按照uid查找文件  (文件的拥有者)
find -user  redhat (文件的拥有者)
find -uid  0   

3.按照gid查找   (文件的所属组)
find -group   IT
find -gid  0

4.-name  模式
find     -name   a?c     ---> ? 代表一个任意字符

5.不区分大小写
find -iname  a.txt

6.按照权限查找
find -perm 111  权限为111的文件
find -perm  +444  有1位有4即可 (r)
find -perm  -444  至少每位有4,如果有附加其他权限也符合要求

dd if=/dev/zero of=file3  bs=10M count=1    制作10M的文件

7.find -size n[cwbkMG]  按照文件大小查找
find /share -size 3G    等于或者大小相等
find -size +10M         查找大小大于10M的文件
find -size -10M         查找大小小于10M的文件

8.find -type 按照文件类型查找  
             f 文件
             d 目录
             b 块设备
             c 字符型设备
             p 管道
             s 套接字
             l 软链接

9.按照三个时间匹配
find  -amin  -3  3天前被查看过的文件   3  -3  +3
      -mmin  -3  3天前被修改过的文件
      -cmin  -3  3天前被更改过内容的文件
      -atime -3  3分钟前被查看过的文件   
      -mtime -3  3分钟前被修改过的文件
      -ctime -3  3分钟前更改过内容的文件

10逻辑表达式

1.用户为redhat所属组不是redhat
find /home -user redhat -not -group redhat  

2.取反  查找文件类型不是b的文件
find /dev  ! -type b  

3.查找用户和组必须是redhat(两个条件同时满足)
find /home -user redhat -and  -group redhat

4.查找用户是redhat或者是user1的文件
find /home -user redhat -or   -group redhat


5.链接符
find / -iname a.txt   -exec  rm -rf  {} \;


-exec 表示链接符     \;表示尾

-ok    操作时有提示
-exec  操作时无提示

find / -iname a  -ok  rm -rf  {} \;   有提示
















        

本文出自 “云计算” 博客,请务必保留此出处http://huanghaisky.blog.51cto.com/3064496/1925255

文件查找