大多数 Linux 平台新用户通常面临的最令人讨厌的经历之一是无法找到最简单且更有效的方法来查找系统上的文件。
Linux 与几乎所有其他操作系统一样,利用多种机制来回答用户的搜索查询。用户可以访问的两个最流行的文件搜索实用程序称为和定位。
现在,值得注意的是,这两个搜索过程都运行得非常好,但尽管如此,本文的中心将更多地集中在定位实用程序,两者中更方便,因为它使用更有效的方法来快速处理用户输入的查询。
这定位实用程序比它运行得更好更快寻找对应的原因是,当启动文件搜索时,find 不会搜索文件系统,locate 会查找数据库。该数据库包含文件的各个部分及其在系统上的相应路径。
这里有十个简单的定位命令,可帮助您提高 Linux 机器的工作效率。
1. 使用locate命令
触发locate命令来查找文件非常简单明了。您需要做的就是输入:
$ locate LAMP-Setup.odt /home/tecmint/LAMP-Setup.odt /home/tecmint/TecMint.com/LAMP-Setup.odt
2. 将搜索查询限制为特定数量
您可以使用以下命令将搜索结果限制为所需的数量,以避免搜索结果出现冗余:-n命令。
例如,如果您只想20根据查询结果,您可以键入以下命令:
$ locate "*.html" -n 20 /home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html /home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html /home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html /home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html /home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html /home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html
结果将显示前 20 个以以下结尾的文件.html。
3. 显示匹配条目数
如果要显示文件“的所有匹配条目的计数”技术人员“,使用定位-c命令。
$ locate -c [tecmint]* 1550
4. 忽略区分大小写的定位输出
默认情况下,定位配置为以区分大小写的方式处理查询含义TEXT.TXT会给你一个不同的结果text.txt。
拥有定位命令忽略大小写并显示大写和小写查询的结果,输入带有-i选项。
$ locate -i *text.txt* /home/tecmint/TEXT.txt /home/tecmint/text.txt
5.刷新mlocate数据库
自从定位命令依赖于一个名为移动定位。上述数据库需要定期更新才能使命令实用程序正常工作
高效。
要更新移动定位数据库,您使用一个名为的实用程序更新数据库。应该注意的是,您需要超级用户权限才能正常工作,是否需要以 root 或 sudo 权限执行。
$ sudo updatedb
6.仅显示系统中存在的文件
当你有更新的移动定位数据库**,定位命令仍会生成其物理副本已从系统中删除的文件的结果。
为了避免在输入命令时看到计算机中不存在的文件的结果,您将需要使用定位-e命令。该过程会搜索您的系统以验证您正在查找的文件是否存在,即使该文件仍然存在于您的系统中。mlocate.db。
$ locate -i -e *text.txt* /home/tecmint/text.txt
7. 不换行的情况下分离输出条目
定位命令的默认分隔符是换行符(\\n)特点。但如果您更喜欢使用不同的分隔符,例如ASCII 零,您可以使用-0命令行选项。
$ locate -i -0 *text.txt* /home/tecmint/TEXT.txt/home/tecmint/text.txt
8. 检查您的定位数据库
如果您对自己的当前状态有疑问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
9. 抑制 Locate 中的错误消息
不断尝试访问您的定位数据库有时会产生不必要的错误消息,指出您没有根访问该数据库所需的权限。mlocate.db,因为您只是普通用户,而不是所需的超级用户。
要完全消除这些消息,请使用-q命令。
$ locate "\*.dat" -q*
10. 选择不同的 mlocate 位置
如果您输入查询以查找默认结果中不存在的结果移动定位数据库并希望从不同的地方得到答案mlocate.db如果位于系统中的其他位置,您可以将locate命令指向不同的位置移动定位数据库位于系统的不同部分-d命令。
$ locate -d <new db path> <filename>
定位命令可能看起来像是那些实用程序之一,它可以毫不费力地完成您要求它做的所有事情,但事实上,为了使该过程保持其效率,mlocate.db需要时不时地获取信息。如果不这样做可能会使程序变得毫无用处。
