storage R&D guy.
全部博文(1000)
分类: 服务器与存储
2017-05-03 10:12:48
发现locate命令来查找文件是非常简单直接的。 所有你需要做的是类型:
$ locate LAMP-Setup.odt /home/howtoing/LAMP-Setup.odt /home/howtoing/HowToing.com/LAMP-Setup.odt
您可以将搜索返回限制为必需的数字,以避免使用-n命令使用搜索结果进行冗余。
例如,如果您只需要查询中的20个结果,则可以键入以下命令:
$ locate "*.html" -n 20 /home/howtoing/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html /home/howtoing/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html /home/howtoing/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html /home/howtoing/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html /home/howtoing/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html /home/howtoing/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html /home/howtoing/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html /home/howtoing/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html /home/howtoing/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html /home/howtoing/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html /home/howtoing/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html /home/howtoing/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html
结果将显示以.html结尾的前20个文件。
如果要显示文件“ howtoing ”的所有匹配条目的计数,请使用locate -c命令。
$ locate -c [howtoing]* 1550
默认情况下, locate被配置为以区分大小写的方式处理查询,这意味着TEXT.TXT将指向与text.txt不同的结果。
要使定位命令忽略大小写敏感性并显示大写和小写查询的结果,请输入带有-i选项的命令。
$ locate -i *text.txt* /home/howtoing/TEXT.txt /home/howtoing/text.txt
由于locate命令依赖于一个名为mlocate的数据库。 需要定期更新所述数据库以使命令实用程序正常工作
有效率的。
要更新mlocate数据库,请使用名为updatedb的实用程序。 应该注意的是,您将需要超级用户权限才能正常工作,需要以root用户或sudo权限执行。
$ sudo updatedb
当您有更新的mlocate数据库**时, locate命令仍会生成从系统中删除其物理副本的文件的结果。
为了避免在命令冲击时看到机器中不存在的文件的结果,您需要使用locate-e命令。 该过程搜索您的系统以验证您要查找的文件的存在,即使它仍然存在于您的mlocate.db中 。
$ locate -i -e *text.txt* /home/howtoing/text.txt
locate命令的默认分隔符是换行符(\\n) 。 但是,如果您喜欢使用不同的分隔符,如ASCII NUL ,则可以使用-0命令行选项。
$ locate -i -0 *text.txt* /home/howtoing/TEXT.txt/home/howtoing/text.txt
如果您对mlocate.db的当前状态有疑问 ,可以使用-S命令轻松查看定位数据库的统计信息。
$ locate -S Database /var/lib/mlocate/mlocate.db: 32,246 directories 4,18,850 files 2,92,36,692 bytes in file names 1,13,64,319 bytes used to store database
不断尝试访问您的定位数据库有时会产生不必要的错误消息,指出您没有必要的权限来对mlocate.db进行root访问,因为您只是普通用户,而不是所需的超级用户。
要完全消除这些消息,请使用-q命令。
$ locate "\*.dat" -q*
如果您正在输入查询默认mlocate数据库中不存在的结果的查询,并且要从位于系统其他位置的其他mlocate.db的答案,您可以将locate命令指向系统不同部分的另一个mlocate数据库使用-d命令。
$ locate -d <new db path>
定位命令可能看起来像其中一个实现您所要求的一切工具,而不用匆忙,但实际上,为了使流程保持其效率, mlocate.db需要随时提供信息。 否则可能会导致程序无用。