拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 使用命令行界面在 Linux 中搜索文件和目录

使用命令行界面在 Linux 中搜索文件和目录

白鹭 - 2022-01-20 2112 0 0

您可以使用图形文件管理实用程序在 Linux 中查找文件,例如 Gnome 中的 Nautilus、KDE ​​中的 Dolphin 和 Xfce 中的 Thunar。但是,有几种方法可以使用命令行在任何 Linux 桌面管理实用程序中查找文件。

Linux中使用命令行界面搜索文件和目录的图1

使用查找命令

查找命令允许用户在大致知道文件名的情况下查找文件。这是最简单的命令类型,用于搜索当前目录中符合特定条件的文件。用户可以按名称、所有者、组、文件类型、权限、日期和年份以及许多其他条件搜索文件。

键入以下命令列出在当前目录中找到的所有文件:

tìm.

圆点表示当前目录。

Linux中使用命令行界面搜索文件和目录的图2

要查找与特定模式匹配的文件,请使用“-name”参数。用户可以使用元字符(例如 '*'),但必须在每个超级字符之前留下转义符号 ' '
例如,如果我们想在 Documents 文件夹中查找所有以'pro'开头的文件,使用 cd Documents/ 移动到 Documents 文件夹,然后输入以下命令:

tìm.--姓名亲 *

将列出目录中所有以'pro'开头的文件。

注意:默认的 find 语句区分大小写。如果要搜索不区分大小写的单词或短语,请在 find 语句中使用“-iname”选项。

Linux中使用命令行界面搜索文件和目录的图3

如果没有文件符合条件,则不会显示任何结果。

find 语句有很多过滤搜索的选项。要了解更多信息,请在终端窗口中输入“man find”,然后按 Enter

使用定位命令

locate 命令比 find 命令快,因为它使用以前构建的数据库,而 find 命令从所有目录和文件中实时搜索系统。 locate 命令返回包含一组特殊字符的所有路径名的列表。

数据库会定期从 cron 更新,但用户可以随时更新自己,以便立即获得结果。为此,请键入以下语句:

sudo updatedb

输入密码。

Linux中使用命令行界面搜索文件和目录的图4

locate 命令的原始形式从包含全部或任何部分搜索条件的根目录开始查找文件系统中的所有文件。

定位我的数据

例如下面的语句找到了两个包含'mydata'的文件和一个包含'data'的文件。

Linux中使用命令行界面搜索文件和目录的图5

如果要查找所有包含搜索条件的文件或文件夹,请使用以下定位命令的“-b”选项:

locate-b'mydata '

Linux中使用命令行界面搜索文件和目录的图6

mlocate的命令是locate的变种。搜索结果仅包括当前用户有权访问的文件。当您更新 mlocate 数据库时,它会维护数据库中的时间戳信息。这允许 mlocate 知道目录中的内容是否已更改,而无需重新读取内容并将其更新到更快的数据库,而无需依赖硬盘驱动器。

安装mlocate时,/usr/bin/locate二进制文件发生变化,指向mlocate。要在命令不在 Linux 发行版中时安装 mlocate,请键入以下命令:

sudo apt-get install mlocate

Linux中使用命令行界面搜索文件和目录的图7

mlocate 命令不使用与标准locate 命令相同的数据库文件。因此,用户可以通过键入以下语句手动创建数据库:

sudo/etc/cron.daily/mlocate

在手动创建数据库或从 cron 运行脚本之前,mlocate 命令将不起作用。

Linux中使用命令行界面搜索文件和目录的图8

有关 locate 和 mlocate 语句的详细信息,请在命令窗口中键入 ma​​n locatema​​n mlocate 并按 输入。将出现帮助屏幕。

使用 which 命令

which 命令返回命令发出时调用的可执行文件的绝对路径。当您需要找到可执行文件的位置以在屏幕、面板或桌面管理实用程序的其他位置创建程序的快捷方式时,这很有用。例如,输入命令 which firefox 将显示如下所示的结果。

注意:默认情况下,which 命令只显示第一个匹配项。要显示整个结果,请在命令中使用“-a”选项。 'which firefox'命令将变成'which-a firefox'。

Linux中使用命令行界面搜索文件和目录的图9

用户可以同时搜索多个可执行文件。只会显示可执行文件的路径。在下面的示例中,只找到了可执行文件“ps”。

Linux中使用命令行界面搜索文件和目录的图10

注意:which命令只查找当前用户被允许使用的可执行文件的路径。如果搜索只允许管理员使用的可执行文件,则不会显示任何结果。

要了解有关 which 命令的更多信息,请在命令 prompt 处输入 ma​​n which 并按 Enter.

使用 whereis 命令

whereis 命令用于查找程序的二进制文件、源文件或“man”文件的位置。例如,当输入 whereis firefox '时,我们将得到如下所示的结果。

Linux中使用命令行界面搜索文件和目录的图11

如果您只想显示可执行文件的路径而不显示源文件和'man'文件的路径,请使用'-b' 选项。例如,'whereis –b firefox' 命令只会显示结果'/usr/bin/firefox'。这非常方便,因为用户通常会搜索更多的可执行文件,而不是搜索该程序的源文件和“man”文件。用户也可以只搜索源文件('-s')或'man'('-m')文件。

要查看该命令的详细信息,请在命令 p 中键入 ma​​n whereisrompt 并按 Enter

whereis和which的区别

whereis命令用一个命令显示二进制文件、源文件和'man'文件的位置,而which命令只显示二进制文件位置。

whereis 命令从特殊目录列表中查找二进制文件、源文件和“man”文件,而 which 命令则查找当前用户的授权 PATH 环境中列出的目录。使用 whereis 命令,可以在“man”文件的 FILES 部分找到特殊目录列表。

默认情况下, whereis 命令显示找到的所有结果,而 which 命令只显示找到的第一个结果。

因为 whereis 命令只使用命令的硬编码路径,你可能找不到你期望的结果。如果您正在查找您认为可能已安装在 whereis 命令的“man”文件中未列出的目录中的程序,请使用带有“-a”选项的 which 命令从系统中查找所有结果.

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *