大多数人在Linux中使用图形文件管理器来查找文件,比如Gnome中的Nautilus、KDE中的Dolphin和Xfce中的Thunar。但是,在Linux中,无论使用什么桌面管理器,都有几种方法可以使用命令行查找文件。
“find”命令允许您搜索已知近似文件名的文件。命令的最简单形式是搜索当前目录中的文件,并通过与提供的搜索条件匹配的子目录进行递归搜索。您可以按名称、所有者、组、类型、权限、日期和其他条件搜索文件。
在提示符处键入以下命令将列出当前目录中找到的所有文件。
find .“find”后面的点表示当前目录。
要查找与特定模式匹配的文件,请使用-name参数。您可以使用文件名元字符(例如*),但是您应该在每个元字符前面加一个转义符(\),或者用引号括起来。
例如,如果我们想在Documents目录中找到以“pro”开头的所有文件,我们将使用cd Documents/command更改为Documents目录,然后键入以下命令:
find . -name pro\*将列出当前目录中以“pro”开头的所有文件。
注意:find命令默认为区分大小写。如果希望对单词或短语的搜索不区分大小写,请在find命令中使用-iname选项。它是-name命令的不区分大小写的版本。
如果find没有找到任何与您的条件匹配的文件,则不会生成任何输出。
find命令有很多选项可用于优化搜索。有关find命令的详细信息,请在终端窗口中运行manfind并按Enter键。
locate命令比find命令快,因为它使用以前构建的数据库,而find命令在实际系统中搜索所有实际的目录和文件。locate命令返回包含指定字符组的所有路径名的列表。
从cron定期更新数据库,但是您也可以随时自己更新它,以便获得最新的结果。为此,请在提示符处键入以下命令:
sudo updatedb出现提示时输入密码。
locate命令的基本形式是从根目录开始查找文件系统中包含全部或部分搜索条件的所有文件。
locate mydata例如,上面的命令找到了两个包含“mydata”的文件和一个包含“data”的文件
如果要查找只包含搜索条件的所有文件或目录,请使用-b选项和locate命令,如下所示。
locate -b ‘\mydata’上面命令中的反斜杠是一个全局字符,它提供了一种方法,可以将非特定文件名中的通配符扩展为一组特定的文件名。通配符是一个符号,当表达式求值时,可以用一个或多个字符替换。最常见的通配符是问号(?),表示单个字符和星号(*),表示连续的字符字符串。在上面的示例中,反斜杠将禁用“*mydata*”隐式替换“mydata”,因此最终只包含“mydata”的结果
mlocate命令是locate的新实现。它索引整个文件系统,但搜索结果只包括当前用户有权访问的文件。更新mlocate数据库时,它会在数据库中保留时间戳信息。这样,mlocate就可以知道目录的内容是否发生了更改,而无需再次读取内容,并且可以更快地更新数据库,降低对硬盘的要求。
安装mlocate时,/usr/bin/locate二进制文件将更改为指向mlocate。要安装mlocate,如果您的Linux发行版中还没有包含它,请在提示符处键入以下命令。
sudo apt-get install mlocate注意:我们将在本文后面向您展示一个命令,它允许您确定命令的可执行文件(如果存在)的位置。
mlocate命令与标准locate命令不使用相同的数据库文件。因此,您可能希望通过在提示下键入以下命令手动创建数据库:
sudo /etc/cron.daily/mlocate在手动创建数据库或从cron运行脚本时,mlocate命令将无法工作。
有关locate或mlocate命令的详细信息,请在终端窗口中键入man locate或man mlocate,然后按Enter键。两个命令显示相同的帮助屏幕。
“which”命令返回发出命令时调用的可执行文件的绝对路径。这对于查找可执行文件的位置非常有用,以便在桌面、面板或桌面管理器中的其他位置创建程序快捷方式。例如,键入firefox显示下面图像中显示结果的命令。
默认情况下,which命令只显示第一个匹配的可执行文件。要显示所有匹配的可执行文件,请在命令中使用-a选项:
which -a firefox您可以使用一次搜索多个可执行文件,如下图所示。只显示找到的可执行文件的路径。在下面的示例中,只找到了“ps”可执行文件。
注意:which命令只搜索当前用户的PATH变量。如果搜索的可执行文件仅对根用户作为普通用户可用,则不会显示任何结果。
有关which命令的详细信息,请在终端窗口的命令提示下键入“man which”(不带引号),然后按Enter键。
whereis命令用于找出命令的二进制文件、源文件和手册页文件的位置。例如,在提示符处键入whereis firefox将显示如下图所示的结果。
如果只想显示可执行文件的路径,而不想显示源代码和手册页的路径,请使用-b选项。例如,whereis-bfirefox命令将只显示/usr/bin/firefox作为结果。这很方便,因为搜索程序的可执行文件的频率比搜索该程序的源代码和手册页的频率要高。也可以只搜索源文件(-s)或手册页(-m)。
有关whereis命令的详细信息,请在终端窗口中键入man whereis,然后按Enter键。
whereis命令显示命令的二进制文件、源代码和手册页的位置,而which命令只显示命令的二进制文件的位置。
whereis命令搜索二进制文件、源文件和man文件的特定目录列表,而where命令搜索当前用户的PATH环境变量中列出的目录。对于whereis命令,可以在该命令手册页的FILES部分找到特定目录的列表。
在默认情况下显示的结果时,where命令显示它找到的所有内容,而which命令只显示它找到的第一个可执行文件。您可以使用前面讨论的-a选项来更改该选项,以获得哪个命令。
因为whereis命令只使用硬编码到命令中的路径,所以您可能并不总能找到所要查找的内容。如果您正在搜索一个您认为可能安装在whereis命令手册页中未列出的目录中的程序,您可能希望使用which命令和-a选项来查找整个系统中出现的所有命令。
...“人类可读”。它基本上以您可以读取的格式显示文件和文件夹的大小。使用此命令可以解释特定文件或目录正在使用多少磁盘空间。 ...
... 在您真正充分利用终端之前,您需要知道如何导航它。这就是为什么我们认为这些是最基本的Linux命令:如果你不能更改目录或者在一个你不记得如何使用的命令上获得帮助,那么再多的终端知识也帮不了你。 ...
...退出或关闭终端。导航和文件管理光盘更改目录。用于在文件夹之间导航。密码显示当前目录。光盘更改当前目录。长征显示当前目录中的文件列表。内容提供商**文件的副本。默认为当前目录,除非指定特定目录。毫伏将文件...
...棒的特性,但是它们可能会断开并指向任何东西。下面是如何找到断开的符号链接,检查它们,并在需要时从系统中删除它们。 符号链接101 符号链接,也称为“软链接”和“符号链接”,是一种可以指向文件和目录的快捷方...
...shshell的行为,您可以控制超过50个设置。我们将向您展示如何按照您喜欢的方式定制您的Linux系统。 shopt内置 shopt内置是bashshell所有版本的一部分,因此不需要安装任何东西。多年来,shopt提供的选项数量稳步增加。所以,Bash...
...覆盖默认值,但在许多情况下,它们对您有利。 相关:如何使用所有Linux的搜索命令 安装fd 由于ubuntu19.04(Disco Dingo,),您可以通过使用apt get调用官方维护的包来直接安装fd。如果您运行的是较旧版本的Ubuntu,请查看Git hub页面...