如何在Linux上的终端中搜索文件

如何在Linux上的终端中搜索文件

虽然我们有很多方法可以在Linux上搜索和定位文件和目录,但最简单,最快的方法可能是通过终端,但是很少有Linux用户知道这一点,这会导致不必要的挫败感。希望可以帮助您找到系统中要查找的内容。

使用定位命令

定位”命令是Linux用户应优先使用的方法,因为它比任何其他方法都要快得多。无与伦比的速度的原因是locate命令实际上并没有在本地硬盘上搜索所需的文件或目录。查找,但更像是读取包含系统中所有文件路径的mlocate.db数据库文件。

如果尚未安装locate,请使用以下命令:

Debian和Ubuntu

sudo apt-get install locate

CentOS的

yum install locate

准备首次使用定位命令

要在首次使用之前更新mlocate.db数据库,请运行:

sudo updatedb

要使用定位,请打开一个终端并输入locate,然后输入您要查找的文件名。在本示例中,我正在搜索名称中包含单词“sunny”的文件。

locate sunny

定位还可以告诉您数据库中搜索关键字的匹配次数。这可以通过在命令中包含“ -c”参数来实现,该参数代表“计数”。

locate -c sunny

使用定位查找关键字已匹配多少次

用户需要记住的是,“ locate”需要您要查找的文件的确切名称,这与其他更灵活的工具相反。这意味着locate非常适合查找您确定的文件它的名称,但是当您不完全记得文件名时就不太好了。

locate howtoforge

locate Howtoforge

查找需要确切的文件名

而且,由于“定位”读取数据库文件,结果可能已过时且不完全正确。为缓解此问题,您可以通过键入“须藤更新”在终端会话中。

在此处查看有关如何使用locate命令的更多示例。

如果在那之后您仍然没有找到想要的东西,或者只是对结果数量不知所措,请继续执行下一步,即“查找”命令。

使用查找命令

”命令是一个功能强大但搜索速度较慢的实用程序。这是因为与“ locate”命令相反,“ find”实际上是在磁盘上搜索用户要查找的文件和目录。试图查找文件或目录,但您不记得它的名称,因为“查找”可以搜索属于某个用户或一组用户的文件,最近被修改或访问的文件,特定大小的文件范围,隐藏文件,可执行文件,只读文件以及具有一定权限的文件。最好的部分是,用户可以在一个“查找”命令中自由组合上述多个条件,从而从本质上缩小了搜索范围。

说到缩小范围,运行“查找”时要做的第一件事就是告诉它在特定目录中进行搜索。这将显着加快搜索过程,但始终取决于目录的大小。知道文件可能在哪里,打开终端,导航到目录并运行“找到。 [filename]该点告诉find在当前目录中搜索。如果要搜索主目录,则将点替换为“〜/”,如果要搜索整个文件系统,请使用“ /”。

例如,我想在下载目录中搜索包含海报的文件。我知道文件名中包含“海报”一词,但我不完全记得该名称。因此,我会通过“ cd Downloads”在终端上导航到我的下载文件夹,然后输入命令:

sudo find . -name "*poster*"

结果如下:

在Linux上使用find命令

这告诉我在Downloads文件夹中有一个名为“ billy_poster copy”的pdf文件。如果我不知道它在哪里,如果我搜索了一个父项,“ find”仍会告诉我它在Downloads文件夹中。目录。

搜索按文件名查找的文件

现在,如果我将“ -name”参数替换为“ -iname”,则可以不考虑字母大小写而得到结果。这在“ locate”中是不存在的,因此当您不在时,另一个有用的元素确定文件名。

sudo find . -iname "*poster*"

在find命令中使用-iname选项

现在,假设我仍在搜索相同的海报文件,并且我唯一记得的是它的大小小于5 MB。在这种情况下,我将使用的命令是:

find ~/ -size -5M

如果我知道它比2MB高,那么命令将是“ find〜/ -size + 2M”。最好的部分是find支持布尔运算符,以使搜索更加强大。在此示例中,我将使用命令结合我的知识,该文件的大小小于5 MB,也大于2 MB。

find / -size -5M -and -size +2M

按大小查找文件

最后,建议我们什么都不记得,但是记得三分钟前访问了它。要找到它,请使用find命令如下:

find / -amin -3

这将是“ find / -amin -30”半小时,“-amin -120”两个小时等。如果两天前访问文件,请改用此命令:

find / -time -2

这将显示过去两天在搜索位置访问的所有文件。

按时间戳查找文件

我认为以上内容涵盖了大多数常见的用例场景。有关强大的“查找”命令的更多信息,请打开终端并键入“ man find”。祝您好运。

可以在此处找到Linux find命令的更多示例。

Sidebar