如何在 Linux 中查找文件

想知道在 Linux 机器上查找文件的最有效方法吗? 在此处查看我们的小指南,了解所有最佳命令及其语法。

在 Linux 系统上搜索文件的方法有很多种。 每个都有其优点和缺点。 但为了获得最佳结果,最好尽可能多地了解它们。

图形程序通常带有集成搜索,虽然它们很方便,但它们通常有其局限性。 这就是 shell 搜索工具派上用场的地方,因为它们提供了更多功能。

以下列表显示了在 Linux 中搜索文件的最常用方法,并包含每个程序的语法和使用模式。

您应该注意,只有第一个 命令 适用于图形程序,所以其余的是 shell 程序。

Linux 搜索方法

命令描述
1.CTRL + F在大多数 GUI 程序中调用搜索功能
2.发现具有强大功能的广泛搜索工具
3.定位快速的数据库驱动搜索工具
4. grep的强大的基于正则表达式的搜索工具
5. 用于搜索可执行文件
6.哪里搜索可执行文件、其来源和手册页文件

1.CTRL+F

Ctrl+F 是大多数图形程序在系统上搜索文件的标准功能。 它适用于 Gnome 文件管理器 Nautilus、KDE ​​文件管理器 Dolphin 和 Thunar、Xfce 文件管理器。

它还适用于许多其他程序,例如用于阅读 .pdf 文件的 Evince、Firefox 浏览器、Libre Office 等办公程序等等。

用法很简单。 使用该程序时,您需要搜索文件,同时按键盘上的 Ctrl 和 F 键,程序上会打开一个搜索栏。

2。 找

在 Linux 平台上搜索东西时,find 是所有工具的鼻祖。 它是一个多功能且非常强大的程序,它需要多种选择才能使其以多种不同的风格工作。

查找程序有很多选项、运算符和打印格式,不可能简单地阅读和了解它们。 如果你想学习 find 程序,你需要经常阅读手册页和信息页。 以下是一些示例以及它们的作用:

man find > #read 手册页查找条目

info find > #read info pages 查找条目

find 的一般语法如下:

查找 [选项] [路径...] [表达式]

其中 options 指的是它的许多选项,路径是您要开始搜索的位置,表达式包括许多可供使用的搜索模式和运算符。

但是,您可以快速学习和记住一些选项,它们如下:

一种

这会根据文件的类型搜索文件,它可以包括“f”代表常规文件,“d”代表目录,“l”代表符号链接。

find -type f -name '*.js' #查找用户家中的所有JavaScript文件

b) -名称

如上所示,这会在文件名中搜索给定模式 (*.js) 的出现。

c) -时间

使用 -mtime 选项,您可以指定基于时间的搜索条件,例如

find -mtime 7 #查找上周(7天)修改过的所有文件

d) - 尺寸

您还可以使用文件的大小作为搜索条件,例如

find -size +15k > #查找主目录下所有大于15kb的文件

请注意,所有选项的参数都可以采用 - 或 + 数字来显示小于或大于。 例如,小于 2 的 -2 和大于 15 的 +15。还有很多选项,您应该阅读 shell 上的“man find”和“info find”条目以了解这个强大的程序。

3.找到

locate 命令是 Linux 上另一个令人印象深刻的搜索工具。 它不像 find 命令那样功能丰富,但速度要快得多,因为它使用数据库条目来执行它的魔力。

定位也更容易使用,不需要你输入搜索路径。 只需输入 locate,后跟文件名的模式,它将返回所有符合该模式的文件。 例如:

locate moz > #查找名称中包含'moz'的所有文件,例如mozilla

Locate 还提供了一些选项,例如 -i 或 –ignore-case,因为它是区分大小写的搜索工具。 例如:

locate -i moz > #查找 mozilla、MOZILLA 和 Mozilla 命名的文件

4。 握

有时您可能知道文件中包含的某些单词。 因此,虽然 find 和 locate 命令可能不适合查找此类文件,但 grep 命令却非常适合这项工作。

Grep 代表全局正则表达式打印。 它接受正则表达式作为参数,还可以根据您的喜好格式化其输出。 它可以为匹配的单词着色,打印它们的行号,或者只打印匹配文件的名称。

请记住,grep 匹配文件名和文件内容,您也可以自由地为每个文件提供模式。 grep 语法如下所示:

grep [选项]'模式'文件

有很多可用的选项,您可以根据需要组合它们,但是如果您学习 regex(正则表达式),您将充分利用 grep,因为它们真的很有帮助。 信息和手册页也很好地解释了这一点。

以下是一些 grep 示例及其作用:

grep 'foobar' > #查找当前目录下所有包含foobar的文件

grep -in 'foobar' > #不区分大小写并打印行号

grep -inr 'foobar' /home/user > #递归搜索/home/user下的所有文件夹

grep -ir 'table' *.html > #查找主目录下所有包含表的html文件

5.哪个

如果出于某种原因,您需要知道 Linux 中可执行文件的绝对路径,请使用 which 命令。 它是这样工作的:

which grep > #returns /bin/grep 在 Ubuntu 上作为 grep 的绝对路径

which which > #returns /usr/bin/which

6. 在哪里

Whereis 有点像 which,但它返回任何给定命令的二进制文件、源文件和手册页文件。 这是一个例子:

whereis grep > #returns only binary & man files /bin/grep /usr/share/man/man1/grep.1.gz

总结

我们已经到了如何在 Linux 命令列表中查找文件的结尾。 如您所见,shell 中有多种工具和选项。 所以每个人都有一些东西。

只需花时间学习和练习这些工具,并记得阅读它们的信息和手册页。 不久之后,您在 Linux 上的文件搜索将变得非常高效。

纳姆迪·奥克克

纳姆迪·奥克克

Nnamdi Okeke 是一位喜欢阅读各种书籍的计算机爱好者。 他偏爱 Linux 而不是 Windows/Mac,并且一直在使用
Ubuntu 从早期开始。 你可以在推特上通过 邦戈特拉克斯

文章:285

接收技术人员的东西

每月一次或两次技术趋势、创业趋势、评论、在线收入、网络工具和营销