zoukankan      html  css  js  c++  java
  • Linux上天之路(十五)之文件查找

    主要内容

    • 精确查找

    • 模糊查找

    1. 精确查找

    find - search for files in a directory hierarchy 递归地在层次目录中处理文件

    查找方式:

    按文件属性查找
    按文件类型查找
    按文件大小查找
    按时间查找
    

    语法

    find path -option 动作

    option

    • 按文件属性查找
    -name 按文件名查找,区分大小写
    
    -iname 按文件名查找,不区分大小写
    
    -empty 查找空文件或目录
    
    -maxdepth 查找最大深度 /第一级 /var/tmp/ 就是三级 / var tmp
    
    -mindepth 从哪个深度开始查找 /var 第二级
    
    -perm 文件权限 比如4777
    
    -user 文件或文件夹所有者
    
    -uid 文件或文件夹所有者UID
    
    -group 文件或文件夹属组
    
    -gid 文件或文件夹数组GID
    
    -nouser 没有所有者的文件或文件夹 比用用户被删了
    
    -nogroup 没有属组的文件或文件夹
    
    -links 文件或文件夹硬链接数量
    example:
    查找名为passwd的文件或文件夹              [root@baism ~]# find / -name passwd
    查找名为passwd的文件或文件夹,忽略大小写    [root@baism ~]# find  / -iname passwd
    查找空文件或目录                          [root@baism ~]# find /  -empty
    查找深度2层                               [root@baism ~]# find /  -maxdepth 3 -perm 4777     包括根三层
    从第二层开始查询                          [root@baism ~]# find /  -mindepth 2 -perm 4777
    查找所有者为baism的文件或文件夹            [root@baism ~]# find  / -user baism      [root@baism ~]# find / -uid 1000
    查找属组为baism的文件和文件夹              [root@baism ~]# find / -group baism      [root@baism ~]# find / -gid 1000
    查找权限为4777的文件                      [root@baism ~]# find / -perm 4777
    查找没有所有者的文件                       [root@baism ~]# find / -nouser
    查找没有属组的文件                        [root@baism ~]# find / -nogroup
    找出硬链接大于2的文件                     [root@baism ~]# find / -links +2 -type f
    多目录查询                               [root@baism ~]# find /etc /home -user baism
    • 按文件类型查找
    f 普通文件
    
    d 目录文件
    
    l 符号链接文件
    
    b 块设备 文件
    
    c 字符设备文件
    
    p 管道文件
    
    s 套接字文件
    
    example
    查找文件类型为管道文件的                    [root@baism ~]# find / -type p
    
    • 按文件大小查找
    +大于
    -小于
    N 等于
    c 字节
    k KB
    M MB
    G GB
    
    example
    查找大于100M的文件  [root@baism ~]# find / -size +100M
    查找小于1k的文件  [root@baism ~]# find / -size -1k
    查找大小为0c的文件  [root@baism ~]# find / -size 0c
    
    • 按时间查找
    +n 是比 n 大,
    
    -n 是比 n 小,
    
    n 正好是 n 。
    
    按时间(天)
    
    mtime修改时间
    
    atime 访问时间
    
    ctime 创建时间
    
    找出一天以内修改过的文件      -mtime       [root@baism ~]# find -mtime -1 -type f
    找出一天以前修改过的文件                   [root@baism ~]# find -mtime +1 -type f
    找出一天以内访问过的文件      -atime       [root@baism ~]# find -atime -1 -type f
    找出一天以前访问过的文件                   [root@baism ~]# find -atime +1 -type f
    找出一天以内创建的文件        -ctime       [root@baism ~]# find -ctime -1 -type f
    找出一天以前创建的文件                     [root@baism ~]# find -ctime +1 -type f
    
    • 按时间(分钟)
    -mmin 修改时间
    
    -amin 访问时间
    找出十分钟内访问过的文件   -amin      [root@baism ~]# find / -amin -10 -type f
    找出10分钟内修改过的文件   -mmin       [root@baism ~]# find / -mmin -10 -type f
    • 执行命令
    -print 打印输出
    
    -ls 详细列出查找文件信息 类似于ls -l
    
    -delete 删除找到的文件
    
    -fls /PATH/file 把查找到的所有文件的长格式信息保存至指定文件中;
    
    -ok COMMAND {} ; 对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
    
    -exec COMMAND {} ; 对查找到的每个文件执行由COMMAND表示的命令;
    
    [root@baism ~]# find / -perm 4777 -ls
    [root@baism ~]# find / -perm 4777 -delete
    [root@baism ~]# find / -user baism -fls /tmp/text
    [root@baism ~]# find / -perm 4777 -ok rm -rf {} ;
    [root@baism ~]# find / -perm 4777 -exec rm -rf {} ;
    

    2. 模糊查找

    locate模糊匹配

    locate:模糊查找命令,查找的是linux系统每天特点时间自动索引备份到系统数据库中的文件。

    命令语法:locate [OPTION]… PATTERN…

    -i 不区分大小写

    优点:查找文件速度快
    locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。
    缺点:查找到的结果不是实时结果(必要时,可手动执行updatedb命令索引文件到数据库,但是相当耗时。)
    为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
    

     

  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/zhangyafei/p/11581696.html
Copyright © 2011-2022 走看看