在Ubuntu上查找文件的多种方法

你曾经找文件卡住过吗?好消息是,你并不是唯一一个。但别担心。在Ubuntu中找文件有很多方法,而且你会很喜欢的!

在本教程中,你将学会如何找到文件,即使你完全忘记了它们的名称或确切位置。

继续阅读,省去找文件的压力吧!

先决条件

本教程将进行实际演示。要跟着做,请确保你有一个Ubuntu系统。本教程使用的是Ubuntu 20.04,但其他最近版本的Ubuntu步骤应该类似。

在Ubuntu中使用图形界面查找文件

在Ubuntu上查找文件的一种方式是使用图形界面。通过图形界面导航通常比使用命令行更快,特别是如果你不熟悉终端或命令的情况下。

要通过Ubuntu的图形界面查找文件:

1. 点击活动按钮(左上角),然后会出现一个搜索栏,如下所示。

活动按钮类似于Windows的开始菜单或macOS的Finder的快捷方式。另一方面,搜索栏是查找和启动应用程序、打开文档以及查看所有打开窗口的快速方式。

没错,你猜对了。搜索栏也可以让你搜索系统中的文件。

Accessing the search bar

2. 接下来,在搜索栏中键入关键词,然后会显示一列匹配的结果。

以下是关键词搜索结果的屏幕截图,结果分为应用程序、文档和设置等类别:

  • 顶部结果部分是应用程序类别(Google Chrome终端…)。
  • 接下来的部分是设置类别(外观颜色…)。
  • 最后一个部分是字符类别,显示系统中任何文件名称包含“the”的文件。
Searching for a keyword

3. 现在,使用相同的技术,查找系统中的其他文件。例如,搜索ubuntu,您将看到包含“ubuntu”一词的应用程序和文件。

您可以看到以下第一个结果是Ubuntu软件应用程序,其次是ubuntu-find-file.txt文件及其位置(/home/ata/Documents)。

Finding files with the keyword “ubuntu”

优化搜索结果

如果您在搜索结果中找到了所需的文件,那是个好消息。您可以单击文件以打开它。但如果没有找到,您将需要通过添加额外的关键词来优化搜索。

要优化搜索结果:

1. 打开Ubuntu的设置并选择搜索。

Open the setting window for search

2. 接下来,切换条目旁边的切换按钮(打开或关闭)。这样做可以让您在搜索结果中包含或不包含该类别。

下面的示例关闭了在搜索中显示终端结果的选项。

Removing the Terminal results in the search

3. 单击项目旁边的省略号,然后选择“上移”或“下移”以更改其位置。这样做可以按类别更改结果的顺序,进一步细化您的搜索结果。

Changing the order in which results appear by category

4. 现在,打开文件管理器应用程序,因为在大多数情况下,您只想要查找已保存的文档,而不是应用程序或设置。

Opening the File Manager application

5. 在文件管理器中,单击顶部的搜索图标,然后会出现一个搜索栏,如下所示。

在搜索栏中输入关键字,例如 ubuntu。文件管理器将在系统上搜索包含其名称或内容中关键字的文件或文件夹。一旦找到,匹配结果的列表将显示在右侧面板中。

Finding a file called ubuntu

6. 最后,单击搜索栏旁边的向下箭头图标,然后选择要查找的特定文件创建日期和文件类型,以缩小文件搜索范围。如果搜索返回大量结果或没有结果,此功能非常有用。

Selecting a specific date
Selecting a specific file type

查找文件 使用 find 命令

到目前为止,您已经了解了如何通过 Ubuntu 的图形界面查找文件。但如果您大部分时间都在终端上工作,那么 find 命令将适合您的口味。 find 命令是一个命令行实用程序,允许您在系统上搜索文件和目录。

find 命令非常强大,提供了许多自定义搜索的选项。通常,终端是查找文件的唯一方法,例如当您通过 SSH 远程工作时。

find命令的基本语法如下:

  • 路径 – 允许您指定搜索应该从哪个目录开始。如果未指定路径,则find命令将从当前工作目录开始搜索。
  • 选项 – 指定修改find命令行为的各种选项。
find <path> <opt>

要使用find命令查找文件:

1. 运行以下命令以在特定的文档目录中查找名为ubuntu-find-file.txt的所有文件,该目录位于当前工作目录(./)下。

find ./Documents -name ubuntu-find-file.txt

下面,您将看到包含指定关键字的每个文件的完整路径。如果未找到结果,则将获得空输出。

Finding all files named ubuntu-find-file.txt in the specific Documents directory

2. 接下来,运行以下相同的find命令,但这次使用通配符字符*来查找特定字符模式。

例如,下面的命令查找文档目录中所有具有.txt扩展名的文件。

find ./Documents -name *.txt

该命令返回相同的ubuntu-find-file.txt文件,如下所示,因为其文件扩展名是.txt

Finding files with specific file extension pattern

3. 运行以下命令以查找您的主目录(~/)中最近修改的文件(-mtime),例如七天前(+7),并列出它们的详细信息(-ls)。

这种方法在寻找不时修改的配置文件时非常方便。

find ~/ -mtime +7 -ls

正如您所见,当您忘记修改特定文件的时间但记得大致时间时,-mtime选项非常有帮助。

Finding files that were recently modified

4. 最后,运行以下命令以查找/var/log/目录中所有具有.temp扩展名的文件并将其删除。

-delete选项在您想要同时删除符合某些条件的多个文件时非常有帮助。

请注意,此命令不提供输出,而-delete选项在删除每个文件之前不会询问确认。因此,在使用此选项时要小心。

find /var/log/ -name *.temp -delete

使用locate命令查找文件

您认为find命令是强大的工具吗?是的,它是,但find命令有一个主要缺点。find命令实时搜索文件和目录。这种行为使文件搜索的完成时间因系统上文件数量而变得很长。

那么您还有哪些其他选项呢?选择locate命令,它使用数据库快速查找系统上的文件和目录。

但在使用`locate`命令之前,您必须将合并`locate`(mlocate)数据库包安装到您的系统上。该软件包包含用于创建和更新数据库的必需工具。

1. 运行下面的apt install命令以在您的系统上安装`mlocate`。

sudo apt install mlocate -y
Installing the mlocate package

2. 接下来,运行下面的updatedb命令,该命令不提供输出但会更新`locate`数据库。此命令可能需要一些时间来运行,因为它会扫描整个文件系统以查找新文件和修改过的文件。

请注意,您必须定期运行此命令以确保数据库是最新的。

sudo updatedb

3. 在更新后,运行下面的`locate`命令以检查数据库的统计信息(-S)。此命令显示数据库中的文件总数和其他信息。

locate -S
Checking the statistics of the database

4. 现在,运行以下命令以定位所有文件名中包含关键字“ubuntu”的文件,忽略(-i)关键字的文本大小写。

`locate`命令通过数据库而不是实时搜索系统文件结构。因此,即使您的系统包含大量文件,该命令返回搜索结果的速度也比`find`命令快得多。

locate -i ubuntu

输出以下仅显示包含 ubuntu 关键字的文件列表的一小部分。

由于该命令不区分大小写,您还将看到列出的文件包含“Ubuntu”,“UBUNTU”或任何其他单词变体。

Finding files using the locate command

5. 运行以下命令查找相同的 ubuntu 关键字。但是这次,去掉 -i 选项以执行区分大小写的搜索,并将输出限制为一定数量的结果(-n 15)。

locate -n 15 ubuntu

下面的输出显示列表要短得多,并且只包含名称中 ubuntu 关键字的确切文本大小写的文件。

Finding files in a case-sensitive manner and limiting the output

也许您需要知道数据库中包含关键字 ubuntu 的文件总数。如果是这样,请运行以下 locate 命令以计算数据库中的所有文件数(-c)。

locate ubuntu -c

以下是 locate 命令索引的文件总数(103117)。

Showing the total number of indexed files

结论

在本教程中,您已经意识到在 `s 中忘记文件的名称或保存位置可能不那么令人沮丧。您已经学会了在 Ubuntu 中通过 GUI、find 和 locate 命令以及它们方便的选项找到文件的许多方法。

您最喜欢哪种方式来查找文件?不管您的选择是什么,现在您都可以放心,擦去那些眼泪,让这些新学到的知识为您找到文件铺平道路。

Source:
https://adamtheautomator.com/ubuntu-to-find-files/