网站搜索

在 Linux 中快速查找文件的 5 个命令行工具


从终端搜索或查找 Linux 系统上的文件可能有点挑战,尤其是对于新手来说。然而,有几个命令行工具/实用程序可用于在 Linux 中查找文件。

在本文中,我们将回顾 5 个在 Linux 系统上快速查找、定位和搜索文件的命令行工具。

1. 查找命令

find 命令是一个功能强大、广泛使用的 CLI 工具,用于在目录层次结构中搜索和定位名称与简单模式匹配的文件。使用 find 很简单,您所需要做的就是提供搜索所在的起点(目录层次结构的顶部)。这可以是当前目录或您怀疑存储要查找的文件的任何其他目录。

在起点之后,您可以指定一个表达式(由测试、操作、选项和运算符组成),该表达式描述如何匹配文件以及如何处理匹配的文件。

它支持多种选项来使用权限、用户、组、文件类型、日期、大小和其他可能的条件等属性来定位文件。您可以在以下文章中了解一些有用的 find 命令用法示例:

  1. Linux Find 命令的 35 个实用示例
  2. 使用“find”命令更有效地搜索目录的方法
  3. 如何在 Linux 中查找具有 SUID 和 SGID 权限的文件
  4. 如何在 Linux 中使用“find”命令搜索多个文件名(扩展名)
  5. 如何在 Linux 中根据修改日期和时间查找文件并排序

2. 定位命令

locate 命令是另一个常用的 CLI 实用程序,用于按名称快速搜索文件,就像 find 命令一样。然而,与同类产品相比,它实际上更高效、更快,因为当用户启动文件搜索操作(查找工作方式)时,不是在文件系统中进行搜索,而是在包含文件及其部分内容的数据库中进行定位查询。文件系统上的相应路径。

可以使用 updatedb 命令准备和更新该数据库。请注意,locate 不会报告相关数据库最近更新后创建的文件。

另请阅读:如何安装“locate 命令”以在 Linux 中查找文件

3.Grep命令

尽管 grep 命令不是一种直接搜索文件的工具(它而是用于打印与一个或多个文件中的模式匹配的行),但您可以使用它来定位文件。假设您知道要查找的文件中的某个短语,或者您正在查找包含特定字符串的文件,grep 可以帮助您列出包含特定短语的所有文件。

例如,如果您正在查找包含短语“An asortment”的 README.md 文件,您怀疑该文件应该位于主目录中的某个位置,可能位于 ~/bin,如图所示即可找到。

grep -Ri ~/bin -e "An assortment" 
OR
grep -Ri ~/bin/ -e "An assortment" | cut -d: -f1

其中 grep 标志:

  • -R – 表示递归搜索指定目录
  • -i – 表示忽略大小写区别
  • -e – 指定用作搜索模式的短语
  • -d – 指定分隔符
  • -f – 设置要打印的字段

您可以在以下文章中了解一些有用的 grep 命令用法示例:

  1. Linux Grep 命令的 12 个实用示例
  2. 11 高级 Linux Grep 命令用法和示例
  3. 如何在文件和目录中查找特定字符串或单词

4. 哪个命令

which command 是一个小型且简单的实用程序,用于定位命令的二进制文件;它输出命令的绝对路径。例如:

which find
which locate
which which

5.Whereis命令

whereis 命令 也用于定位命令,它还显示源的绝对路径以及该命令的手册页文件。

whereis find
whereis locate
whereis which
whereis whereis

另请阅读:在文件系统上查找“二进制命令”描述和位置的 5 种方法

目前为止就这样了!如果我们错过了任何在 Linux 系统上快速定位文件的命令行工具/实用程序,请通过下面的评论表告诉我们。您也可以提出有关此主题的任何问题。