文件查找:locate/find

文件查找就是在文件系统上查找符合条件的文件,工具名分别为:locate和find

locate是非实时查找或数据库查找的工具;而find则是实时查找工具。

locate

locate依赖于事先构建的索引。索引的构建是在系统较为空闲时自动进行(即为周期性任务),也可以手动更新数据库(updatedb)

注意:索引构建过程需要遍历整个根文件系统,极其消耗资源。

它的工作特点有:查找速度快,模糊查找和非实时查找

语法:

    locate KEYWORD

find

find是实时查找工具,通过遍历指定路径下的文件系统完成文件查找。


它的工作特点有:查找速度略慢,精确查找和实时查找

语法:

    find [OPTION]… [查找路径] [查找条件] [处理动作]

        查找路径:指定具体目标路径,默认为当前目录。

        查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行,默认为找出指定路径下的所有文件。

        处理动作:对符合条件的文件做什么操作,默认输出至屏幕。

    查找条件是根据文件名查找

        -name "文件名称" (支持使用glob)

        -iname "文件名称" :不区分字符大小写

        -regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称

    根据属主、属组查找

        -user USERNAME:查找属主为指定用户的文件

        -group GRPNAME:查找属组为指定组的文件

        -id UserID:查找属主为指定的UID号的文件

        -gid GroupID:查找属组为指定的GID号的文件

        -nouser:查找没有属主文件

        -nogroup:查找没有属组的文件

    根据文件类型查找

        -type TYPE

        组合条件如下

            与:-a

            或:-o

            非:-not,!

        示例:找出/tmp目录下,属组不是root,且文件名不是fstab的文件。

            find /tmp -not \( -user root -o -name 'fstab' \) -ls

    根据文件大小来查找

        -size [+|-]#UNIT

        常用的单位有:k,m,g

            #UNIT:(#-1,#)

            -#UNIT:[0,#-1]

            +#UNIT:(#,无限大)

    根据时间戳

        以 天 为单位        

            -atime [+|-]#

            -mtime

            -ctime

        以分钟为单位

            -amin

            -mmin

            -cmin

    根据权限查找

            -perm [+|-]MODE

                MODE:精确权限匹配

            +MODE:任何一类(u,g,o)对象的权限中只要能一位匹配即可

            -MODE:每一类对象都必须同时拥有为其指定的权限标准

    处理动作

        -print:默认的处理动作,显示至屏幕

        -ls:类似于对查找到的文件执行 "ls -l" 命令

        -delete:删除查找到的文件

        -fls /path/to/somefile:查找到的所有文件的长格式信息

        -ok COMMAND {}\:对查找到的每个文件执行由COMMAND指定的命令

            对于每个文件执行命令之前,都会交互式要求用户确认

        -exec COMMAND {}\:对查找到的每个文件执行由COMMAND指定的命令

    注意:find传递查找到的文件至后面指定的命令时,查找到的所有符合条件的文件一次性传递给后面的命令。有些命令不能够接受过多参数,此时命令执行可能会失败。

        find | xagrs COMMAND  这种方式可规避此问题

原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/12687

(0)
黑白子黑白子
上一篇 2016-03-12 23:12
下一篇 2016-03-13 01:55

相关推荐

  • grep正则表达式

    grep:这是一个搜索命令,搜文本并且将文本行显示出来 (1)grep -i 表示搜索的时候忽略大小写 (2)grep –colour 表示搜索关键字带颜色 例如:grep –colour ‘root’ /etc/passwd 显示为在etc的passwd里的 root 选项有颜色 *为了方便我们可以定义个别名,让他搜索的时候默认显示为带颜色 alias…

    Linux干货 2017-07-29
  • RAID实现原理及常用级别

    RAID(Redundant Array of Independent Disks): 定义:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列(Redundant Array of Independent Disks),简称磁盘阵列。 原理:把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使其性能达到甚至超过价格昂贵,容量巨大的硬盘。 优势: RAID在容量和管理上…

    Linux干货 2016-07-22
  • 网络管理

    vpn:virtual private network RJ-45:类似电话接头  电话线接头为RJ-11 hub:集线器,多端口中继器,不具有记忆功能 switch:交换机 router:路由器 物理拓扑分类:总线,环装,星型 OSI:国际网络标准,实际采用为TCP/IP OSI七层模型:应用层:application   表…

    Linux干货 2016-09-05
  • python文件操作

    文件操作使用的函数open 打开read 读write 写close 关其他非常用的 seek 设置读取指针 tell 读取读取指针位置 windows中def encode(self, encoding=’utf-8′, errors=’strict’)open 和它的参数open(file,mode=&#8…

    Linux干货 2017-10-31
  • FHS文件系统结构

    FHS文件系统结构 FHS(Filesystem Hierarchy Standard)文件系统层次结构标准是根据无数开发者的经验总结而来的,多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理,并且会维持更新。

    Linux干货 2016-10-29
  • 第二周作业

    一、文件管理命令以及演示方法  1.1. mkdir命令     作用:创建文件夹     基本用法:mkdir [OPTION]… DIRECTORY…     参数:   &nbsp…

    Linux干货 2016-08-22