5 个在 Linux 中快速查找文件的命令行工具
从终端搜索或查找 Linux 系统上的文件可能有点困难,尤其是对于新手来说。不过,有几种命令行工具/实用程序可用于在 Linux 中定位文件。
在本文中,我们将回顾 5 个命令行工具,用于在 Linux 系统上快速查找、定位和搜索文件。
1.查找命令
find 命令是一个功能强大且广泛使用的 CLI 工具,用于在目录层次结构中搜索和定位名称与简单模式匹配的文件。 find 的使用很简单,您只需提供一个搜索开始的起点(目录层次结构的顶部)。这可以是当前目录,也可以是您怀疑要查找的文件存储的任何其他目录。
在起点之后,您可以指定一个表达式(由测试、操作、选项和运算符组成),它描述如何匹配文件以及如何处理匹配的文件。
它支持使用权限、用户、组、文件类型、日期、大小和其他可能的标准等属性来定位文件的多种选项。您可以在以下文章中了解一些有用的 find 命令使用示例:
- Linux Find 命令的 35 个实用示例
- 使用“find”命令更有效地搜索目录的方法
- 如何在 Linux 中查找具有 SUID 和 SGID 权限的文件
- 如何在 Linux 中使用 ‘find’ 命令搜索多个文件名(扩展名)
- 如何在 Linux 中根据修改日期和时间查找和排序文件
2. 定位命令
就像 find 命令一样, locate 命令是另一个常用的 CLI 实用程序,用于按名称快速搜索文件。但是,与 find 命令相比,locate 命令实际上更高效、更快速,因为当用户启动文件搜索操作时,locate 命令不会搜索整个文件系统(find 的工作方式),而是查询包含文件的部分和部分以及它们在文件系统上的对应路径的数据库。
可以使用updatedb命令准备和更新此数据库。请注意,locate不会报告相关数据库最近更新后创建的文件。
另请参阅:如何安装“locate 命令”以在 Linux 中查找文件
3. Grep 命令
尽管grep 命令不是直接搜索文件的工具(而是用于打印一个或多个文件中与模式匹配的行),但您可以使用它来定位文件。假设您知道要查找的文件中的短语,或者要查找包含特定字符串的文件,grep可以帮助您列出包含特定短语的所有文件。
例如,如果您正在寻找包含短语“ An assortment ”的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 命令使用示例:
4.哪个命令
which 命令是一个小巧而简单的实用程序,用于定位命令的二进制文件;它输出命令的绝对路径。例如:
$ which find $ which locate $ which which
5. Whereis 命令
whereis 命令也用于定位命令,它还显示源的绝对路径和命令的手册页文件。
$ whereis find $ whereis locate $ whereis which $ whereis whereis
另请参阅:在文件系统上查找“二进制命令”描述和位置的 5 种方法
现在就这些了!如果我们遗漏了任何用于在 Linux 系统上快速定位文件的命令行工具/实用程序,请通过下面的评论表告诉我们。您也可以提出有关此主题的任何问题。