• 每天一个Linux命令(18)loacte命令


        locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。

        (1)用法:

        用法:  Locate  [选项] [参数]

        (2)功能:

        功能:  在mlocate数据库中搜索条目,用来快速查找文件或目录

        (3)选项参数:

        1) -d<目录>或--database=<目录>:            指定数据库所在的目录

        2) -i, --ignore-case                    匹配模式时忽略大小写区别

        3) --help:                          显示帮助

        4) --version:                        显示版本信息

        5) -d, --database DBPATH                    用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)

        (4)实例:

        1)[root@localhost Documents]# loacte less1            在各个目录下查找名为less1的这个文件或者文件夹

    [root@localhost Documents]# ll
    总用量 20
    -rw-r--r--. 1 root root 664 5月   9 07:59 head_text
    -rw-r--r--. 1 root root  45 5月   9 08:15 less1
    -rw-r--r--. 1 root root  57 5月   9 08:16 less2
    -rw-r--r--. 1 root root 259 5月  12 21:53 tail_text
    -rw-r--r--. 1 root root 216 5月  12 22:24 tempory
    [root@localhost Documents]# slocate less1                                     //经验证,已经没有slocate这个命令
    bash: slocate: 未找到命令...
    相似命令是: 'locate'
    [root@localhost Documents]# loacte less1
    bash: loacte: 未找到命令...
    相似命令是: 'locate'

        2)[root@localhost Documents]# locate Documents             如果是搜索的是文件夹的名称,则默认会先显示该文件夹及以下的各个文件及文件夹

    [root@localhost Documents]# locate Documents
    /home/sunjimeng/Documents
    /home/sunjimeng/Documents/head_text
    /home/sunjimeng/Documents/less1
    /home/sunjimeng/Documents/less2
    /home/sunjimeng/Documents/tail_text
    /home/sunjimeng/Documents/tempory
    /usr/share/dbus-1/services/org.gnome.Documents.GDataMiner.service
    /usr/share/dbus-1/services/org.gnome.Documents.SearchProvider.service
    /usr/share/dbus-1/services/org.gnome.Documents.ZpjMiner.service
    /usr/share/glib-2.0/schemas/org.gnome.Documents.enums.xml

        3)[root@localhost Documents]# locate newlocate 和updatedb                 为了避免新建的文件夹找不到,可以立即更新数据库(updatedb命令)                     

    [root@localhost Documents]# touch newlocate                          //新建文件
    [root@localhost Documents]# ll                        //已经存在
    总用量 20
    -rw-r--r--. 1 root root 664 5月   9 07:59 head_text
    -rw-r--r--. 1 root root  45 5月   9 08:15 less1
    -rw-r--r--. 1 root root  57 5月   9 08:16 less2
    -rw-r--r--. 1 root root   0 5月  15 18:21 newlocate
    -rw-r--r--. 1 root root 259 5月  12 21:53 tail_text
    -rw-r--r--. 1 root root 216 5月  12 22:24 tempory
    [root@localhost Documents]# locate newlocate                         //但并找不到
    [root@localhost Documents]# updatedb                    //更新数据库
    [root@localhost Documents]# locate newlocate                //待计算机反应2秒后,再执行locate命令,就能找到了
    /home/sunjimeng/Documents/newlocate

        4)查找指定目录下的某个文件,也可以用通配符

    [root@localhost /]# locate /home/sunjimeng/Documents/*e
    /home/sunjimeng/Documents/newlocate

        5)[root@localhost /]# locate -i /home/sunjimeng/Documents/*Cate                 在使用通配符时忽略大小写

    [root@localhost /]# locate -i /home/sunjimeng/Documents/*Cate
    /home/sunjimeng/Documents/newlocate
    [root@localhost /]# locate  /home/sunjimeng/Documents/*Cate
    [root@localhost /]# 

        6)[root@localhost /]# locate /home/sunjimeng/Documents/le                         寻找以特定字符串开头的文件或文件夹

    [root@localhost /]# locate /home/sunjimeng/Documents/le                                    //不加通配符也可以
    /home/sunjimeng/Documents/less1
    /home/sunjimeng/Documents/less2
    [root@localhost /]# locate /home/sunjimeng/Documents/le*                     
    /home/sunjimeng/Documents/less1
    /home/sunjimeng/Documents/less2
    [root@localhost /]# 

        7)[root@localhost Documents]# locate --help

    [root@localhost Documents]# locate --help
    Usage: locate [OPTION]... [PATTERN]...
    Search for entries in a mlocate database.
    
      -A, --all              only print entries that match all patterns
      -b, --basename         match only the base name of path names
      -c, --count            only print number of found entries
      -d, --database DBPATH  use DBPATH instead of default database (which is
                             /var/lib/mlocate/mlocate.db)
      -e, --existing         only print entries for currently existing files
      -L, --follow           follow trailing symbolic links when checking file
                             existence (default)
      -h, --help             print this help
      -i, --ignore-case      ignore case distinctions when matching patterns
      -l, --limit, -n LIMIT  limit output (or counting) to LIMIT entries
      -m, --mmap             ignored, for backward compatibility
      -P, --nofollow, -H     don't follow trailing symbolic links when checking file
                             existence
      -0, --null             separate entries with NUL on output
      -S, --statistics       don't search for entries, print statistics about each
                             used database
      -q, --quiet            report no error messages about reading databases
      -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
          --regex            patterns are extended regexps
      -s, --stdio            ignored, for backward compatibility
      -V, --version          print version information
      -w, --wholename        match whole path name (default)
    
    将 bug 报告给 mitr@redhat.com.

        (5)其他:

        说明:

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

          locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)

          locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案

  • 相关阅读:
    提取轮廓后的画图处理
    提取视频中的前景物体
    写入视频帧
    处理视频序列
    视频读写
    三维重建-相机标定
    图像拼接相关
    计算两幅图像之间的单应矩阵
    ransac算法(随机抽样一致性)
    图像间投影关系
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5497062.html
Copyright © 2020-2023  润新知