在 Linux 上寻找你正在寻找的东西

怎样在 Linux 系统上使用 find、locate、mlocate、which、 whereis、 whatis 和 apropos 命令寻找文件。

-- Sandra Henry-stocker

致谢

编译自 | https://www.networkworld.com/article/3268768/linux/finding-what-you-re-looking-for-on-linux.html

作者 | Sandra Henry-stocker

译者 | MjSeven 共计翻译:36篇 贡献时间:100 天

怎样在 Linux 系统上使用 find、locate、mlocate、which、 whereis、 whatis 和 apropos 命令寻找文件。

在 Linux 系统上找到你要找的文件或命令并不难, 有很多种方法可以寻找。

find

最显然的无疑是 命令,并且 变得比过去几年更容易使用了。它过去需要一个搜索的起始位置,但是现在,如果你想将搜索限制在当下目录中,你还可以使用仅包含文件名或正则表达式的 命令。

这样,它就像 命令一样工作,并没有做太多的搜索。

对于更专业的搜索, 命令需要一个起点和一些搜索条件(除非你只是希望它提供该起点目录的递归列表)。命令 从当前目录开始将递归列出所有常规文件,而 将在 nemo 的主目录中找到空文件。

参见:11 个好玩的 Linux 终端技巧

[1]

locate

命令的名称表明它与 命令基本相同,但它的工作原理完全不同。 命令可以根据各种条件 —— 名称、大小、所有者、权限、状态(如空文件)等等选择文件并作为搜索选择深度, 命令通过名为 的文件查找你要查找的内容。该数据文件会定期更新,因此你刚创建的文件的位置它可能无法找到。如果这让你感到困扰,你可以运行 命令立即获得更新。

mlocate

命令的工作类似于 命令,它使用与 相同的 文件。

which

命令的工作方式与 命令和 命令有很大的区别。它使用你的搜索路径()并检查其上的每个目录中具有你要查找的文件名的可执行文件。一旦找到一个,它会停止搜索并显示该可执行文件的完整路径。

命令的主要优点是它回答了“如果我输入此命令,将运行什么可执行文件?”的问题。它会忽略不可执行文件,并且不会列出系统上带有该名称的所有可执行文件 —— 列出的就是它找到的第一个。如果你想查找具有某个名称的所有可执行文件,则可以像这样运行 命令,但是要比非常高效 命令用更长的时间。

在这个 命令中,我们在寻找名为 “locate” 的所有可执行文件(任何人都可以运行的文件)。我们也选择了不要查看所有“拒绝访问”的消息,否则这些消息会混乱我们的屏幕。

whereis

命令与 命令非常类似,但它提供了更多信息。它不仅仅是寻找可执行文件,它还寻找手册页(man page)和源文件。像 命令一样,它使用搜索路径() 来驱动搜索。

whatis

命令有其独特的使命。它不是实际查找文件,而是在手册页中查找有关所询问命令的信息,并从手册页的顶部提供该命令的简要说明。

如果你询问你刚刚设置的脚本,它不会知道你指的是什么,并会告诉你。

apropos

当你知道你想要做什么,但不知道应该使用什么命令来执行此操作时, 命令很有用。例如,如果你想知道如何查找文件,那么 和 会提供很多建议。

总结

Linux 上可用于查找和识别文件的命令有很多种,但它们都非常有用。

via:https://www.networkworld.com/article/3268768/linux/finding-what-you-re-looking-for-on-linux.html

作者:Sandra Henry-Stocker

[3]

选题:lujun9972译者:MjSeven校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180510B0WTW200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励