码迷,mamicode.com
首页 > 其他好文 > 详细

文件查找命令使用

时间:2018-12-27 15:36:40      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:默认   一个   usr   提高   name   图片   依赖   提升   some   

  • 文件查找工具:locate、find
  • locate使用
  • find使用

  • 为了高效提升效率,文件系统中的文件众多,Linux系统一切皆文件的思想,不免有时候忘记某个文件位于哪个文件夹,或具体叫什么名字等,使用ls/cd 等工具一个一个查找比较低效无用,对于内容查找可以使用‘三剑客‘。

    • locate使用
      依赖事先存在的索引库,数据并非实时更新,需要手动update或者cron任务实现周期更新;
      特点:
      查找速度快、模糊查找、非实时查找
      用法:
      locate [options] pattern..
      -b : 只匹配路径的基名
      -c : 统计出共有多少个符合的
      -r : 正则表达式匹配
    • find使用
      实时查找,通过遍历整个跟文件系统查找,比较消耗资源
      特点:查找速度略慢、精确查找、实时查找
      用法:
      find [options] [查找起始路径] [查找条件] [处理动作]
      查找路径:默认当前路径,指定精确的范围能够提高效率
      查找条件:指定查找的标准,文件名、大小、文件类型、从属关系、时间、权限
      处理动作:默认为标准输出至屏幕,可以对查找符合条件的文件做处理,如删除、执行某命令。
      查找条件:[选项[测试条件]]

      • 测试条件:布尔型结果true 、false
        组合测试:
        -a: 与关系,如何多个条件不加测试,默认为与关系
        -o: 或关系
        -not | !: 非关系

      • 根据文件名查找
        -name “pattern”
        -iname "pattern" :不区分大小写
        -regex "pattern":基于正则表达式查找,匹配是整个路径,而非其名
        支持glob通配符:*、?、[]、[^]...
        如查找/usr/share/中.jpg结尾文件:
        技术分享图片

      • 根据从属关系查找
        -user username:指定用户文件的属主查找
        -group groupname:指定文件的属组查找
        -uid UID :指定文件的uid查找
        -gid GID :指定文件的gid查找
        -nouser :查找没有属主的文件
        -nogroup :查找没有属组的文件

      • 根据文件类型查找
        -type TYPE
        f: 普通文件
        d: 目录文件
        l:符号链接文件
        b:块设备 文件
        c:字符设备文件
        p:管道文件
        s:套接字文
      • 根据文件大小查找
        -size [+|-] #单位 :单位常用K,M,G
        #3K:表示精确大小查找,(#-1,#]数学范围表示
        +3K:表示大于3K的文件,(#,0-0)
        -3K:表示小于3K的文件,(0,#)

      • 根据文件时间戳查找,即stat的三个时间戳
        以天为单位:类型 [+|-] #
        -atime :访问时间
        -mtime :修改时间
        -ctime :改变时间
        以分钟为单位:
        -amin
        -mmin
        -cmin
        以数轴为例区分【+|-】#
        技术分享图片

      • 根据文件权限查找
        -perm [/|-]mode
        mode:精确权限查找
        /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;
        -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足; 9位权限之间存在“与”关系;

      • 处理动作:
        -print:标准输出;默认动作;
        -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
        -delete:删除查找到的文件;
        -fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
        -ok COMMAND ‘{}’ \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
        -exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;
        注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令; 但是有些命令不能接受过长的参数,此时命令执行会失败;
        可以使用:find | xargs COMMAND
        如:找到/usr/share/下图片并复制到/tmp下
        技术分享图片
    • 以上只是查找文件,如何根据内容查找:如查找grub.d/下中文件包含有GRUB2_PASSWORD
      技术分享图片
      -r:表示递归查找
      -n:显示行号
      详细用法查看grep.

    文件查找命令使用

    标签:默认   一个   usr   提高   name   图片   依赖   提升   some   

    原文地址:http://blog.51cto.com/12580678/2335949

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!