linux中locate命令,locate命令用法

  linux中locate命令,locate命令用法

  定位允许用户在文件系统中快速搜索指定的文件。方法是首先建立一个包括系统中所有文件的名称和路径的数据库,然后在搜索时只需要查询这个数据库,而不需要真正深入到文件系统中。

  在一般发行版中,数据库的建立是在crontab中自动执行的。

  1.命令格式:定位[参数][文件]

  2.命令功能:

  在搜索数据库时,定位命令可以快速找到文件。数据库由updatedb程序更新,updatedb由cron守护进程定期建立。locate命令搜索数据库的速度比搜索整个硬盘数据的速度快。

  但是,更糟糕的是,如果locate找到的文件是新创建或重命名的,可能就找不到了。默认值中,updatedb每天运行一次,可以通过修改crontab(etc/crontab)来更新默认值。

  Locate被指定用于搜索合格的文件。它将转到存储文件名和目录名的数据库,查找符合模板样式条件的文件或目录。您可以使用特殊字符(如“*”或“?”)等等)来指定模板样式,比如指定模板为kcpa*ner,

  Locate将查找所有以kcpa开头,以ner结尾的文件或目录。例如,如果名称是kcpartner,如果目录名称是kcpa_ner,它将列出目录中包括子目录在内的所有文件。

  locate命令类似于find查找文件,但是locate首先通过更新程序建立硬盘中所有文件和目录数据的索引数据库,在执行loacte时直接搜索索引,所以查询速度会更快。

  一般来说,索引数据库是由操作系统管理的,但是也可以直接发出update来强制系统立即修改索引数据库。

  3.命令参数:

  -e将从搜索中排除。

  如果是1,则为-1。启动安全模式。在安全模式下,用户只能查看其权限内的文件。这会降低速度,因为locate必须从实际的文件系统中获取文件的权限数据。

  -f排除特定的文件系统。例如,我们没有理由将proc文件系统中的文件放在数据库中。

  -q安静模式,不会显示错误消息。

  -n最多显示n个输出。

  -r使用正则表达式作为搜索条件。

  -o指定数据库的名称。

  -d指定数据库的路径。

  -h显示辅助信息。

  -V显示程序的版本信息。

  4.用法示例:

  4.1查找与crontab相关的所有文件

  [hduser0401@dev-l002782 ~]$找到crontab

  /appcom/apps/crontab

  /appcom/apps/crontab/log

  /appcom/apps/crontab/shell

  /appcom/apps/crontab/shell/kill 200 gjobs . sh

  /appcom/apps-data/tmp/HD user 0401/crontab . txt

  /etc/anacrontab

  /etc/crontab

  /home/hduser0401/crontab.txt

  /usr/xjlz/crontab

  /usr/lib/python 2.6/site-packages/SOS/plugins/crontab . py

  /usr/lib/python 2.6/site-packages/SOS/plugins/crontab . pyc

  /usr/lib/python 2.6/site-packages/SOS/plugins/crontab . pyo

  /usr/share/man/man 1/crontab . 1 . gz

  /usr/share/man/man 1p/crontab . 1p . gz

  /usr/share/man/man 4/crontabs . 4 . gz

  /usr/share/man/man 5/anacrontab . 5 . gz

  /usr/share/man/man 5/crontab . 5 . gz

  /usr/share/man/man 8/crontab _ selinux . 8 . gz

  4.2搜索etc目录中所有以sh开头的文件。

  [HD user 0401 @ dev-l 002782 ~]$ locate/etc/sh

  /etc/影子

  /etc/shadow-

  /etc/shell

  4.3在/usr/xjlz目录中搜索所有以Z开头的文件

  [HD user 0401 @ dev-l 002782 ~]$ locate/usr/xjlz/z

  /usr/xjlz/zcmp

  /usr/xjlz/zdiff

  /usr/xjlz/zegrep

  /usr/xjlz/zfgrep

  /usr/xjlz/zforce

  /usr/xjlz/zgrep

  /usr/xjlz/zip

  /usr/xjlz/zip coat

  /usr/xjlz/zipgrep

  /usr/xjlz/zipinfo

  /usr/xjlz/zipnote

  /usr/xjlz/zipsplit

  /usr/xjlz/zless

  /usr/xjlz/zmore

  /usr/xjlz/znew

  /usr/xjlz/zsoelim

  -最多显示5个输出。

  [HD user 0401 @ dev-l 002782 ~]$ locate-n 5/usr/xjlz/z

  /usr/xjlz/zcmp

  /usr/xjlz/zdiff

  /usr/xjlz/zegrep

  /usr/xjlz/zfgrep

  /usr/xjlz/zforce

linux中locate命令,locate命令用法