Skip to main content

如何使用命令行在Linux中查找文件

01 Linux基础 38 文件内容命令 03 grep查找文件内容 (六月 2025)

01 Linux基础 38 文件内容命令 03 grep查找文件内容 (六月 2025)
Anonim

在本指南中,您将学习如何使用Linux查找文件或一系列文件。

您可以使用Linux发行版附带的文件管理器来搜索文件。如果您习惯使用Windows,则文件管理器类似于Windows资源管理器。它包含一个带有一系列文件夹的用户界面,单击这些文件夹时会显示这些文件夹中的子文件夹以及其中包含的所有文件。

大多数文件管理器都提供搜索功能和过滤文件列表的方法。

搜索文件的最佳方法是使用Linux命令行,因为有更多可用于搜索文件的方法,而不是图形工具可能尝试包含的方法。

如何打开终端窗口

要使用Linux命令行搜索文件,您需要打开终端窗口。

打开终端窗口的方法有很多种。确保在大多数Linux系统上运行的一种方法是同时按下CTRL,ALT和T键。如果无法使用Linux桌面环境中的菜单来查找终端编辑器。

查找文件的最简单方法

调用用于搜索文件的命令找。

以下是Find命令的基本语法。

起点是您要开始搜索的文件夹。要开始搜索整个驱动​​器,请键入以下内容:

找 /

但是,如果您要开始搜索当前所在的文件夹,则可以使用以下语法:

找 。

通常,在搜索时您需要按名称搜索,因此,要在整个驱动器中搜索名为myresume.odt的文件,您将使用以下语法:

find / -name myresume.odt

  • find命令的第一部分显然是单词find。
  • 第二部分是从哪里开始搜索。
  • 下一部分是一个确定要找到的内容的表达式。
  • 最后,最后一部分是要查找的东西的名称。

从哪里开始搜索

如上一节中简要提到的,您可以选择文件系统中的任何位置来开始搜索。例如,如果要搜索当前文件系统,可以使用句点,如下所示:

找 。 - 游戏

上面的命令将在当前文件夹下的所有文件夹中查找名为游戏的文件或文件夹。您可以使用pwd命令找到当前文件夹的名称。

如果要搜索整个文件系统,则需要从根文件夹开始,如下所示:

找/ -name游戏

上述命令返回的结果可能会显示许多已返回结果的权限被拒绝。

您可能需要使用sudo命令提升权限,或使用su命令切换到管理员帐户。

起始位置可以在文件系统的任何位置。例如,要搜索主文件夹,请键入以下内容:

找到〜-name游戏

代字号是一种元字符,通常用于表示当前用户的主文件夹。

表达式

你将使用的最常见的表达方式是 -名称。 -name表达式允许您搜索文件或文件夹的名称。

但是,您可以使用以下其他表达式:

  • - 胺 - 该文件最后一次访问是在n分钟前
  • -anewer - 最近一次访问该文件的次数比修改后的最近一次
  • -atime n - 该文件最近一次被访问了n天前
  • -cmin n - 该文件最后一次在n分钟前更改过
  • -cnewer - 文件最近更改的时间比文件修改时更新
  • -ctime n - 该文件上次更改超过n天前
  • -empty - 文件为空
  • -可执行 - 该文件是可执行的
  • -假 - 总是假的
  • -fstype类型 - 该文件位于指定的文件系统上
  • -gid n - 该文件属于ID为n的组
  • -group groupname - 该文件属于指定的组
  • -ilname模式 - 搜索符号行但忽略大小写
  • - 模式 - 搜索文件但忽略大小写
  • -inum n - 搜索具有指定节点的文件
  • - 路径 - 搜索路径但忽略大小写
  • -iregex表达式 - 搜索表达式但忽略大小写
  • - 链接 - 搜索具有指定链接数的文件
  • -lname名称 - 搜索符号链接
  • -mmin n - 文件的数据是在n分钟前修改的
  • -mtime n - 文件的数据是在n天前修改的
  • - 名称 - 搜索具有指定名称的文件
  • - 更新的名字 - 搜索比最近编辑的文件编辑的文件
  • -nogroup - 搜索没有组ID的文件
  • -nouser - 搜索没有附加用户的文件
  • 路径 - 搜索路径
  • -可读 - 查找可读的文件
  • -regex模式 - 搜索与正则表达式匹配的文件
  • 型式 - 搜索特定类型
  • -uid uid - 文件数字用户ID与uid相同
  • -用户名 - 文件由指定的用户拥有
  • -writable - 搜索可以写入的文件

如何查找超过一定数量的日前访问的文件

想象一下,您想要查找超过100天前访问的主文件夹中的所有文件。如果要备份和删除不经常访问的旧文件,可能需要执行此操作。

为此,请运行以下命令:

找到〜-atime 100

如何查找空文件和文件夹

如果要查找系统中的所有空文件和文件夹,请使用以下命令:

找到/ -empty

如何查找所有可执行文件

如果要查找计算机上的所有可执行文件,请使用以下命令:

找到/ -exec

如何查找所有可读文件

要查找所有可读的文件,请使用以下命令:

找/读

模式

搜索文件时,可以使用模式。例如,您可能正在搜索扩展名为mp3的所有文件。

您可以使用以下模式:

find / -name * .mp3

如何从查找命令发送输出到文件

find命令的主要问题是它有时会返回太多结果以便一次查看。

您可以将输出传递给tail命令,也可以将行输出到文件,如下所示:

find / -name * .mp3 -fprint nameoffiletoprintto

如何查找和执行命令对文件

想象一下,您想要同时搜索和编辑文件。

您可以使用以下命令:

find / -name filename -exec nano'{}';

上面的命令搜索名为filename的文件,然后为它找到的文件运行nano编辑器。

摘要

find命令非常强大。本指南演示了如何搜索文件,但有大量可用选项,要了解所有这些选项,您应该查看Linux手册。

您可以通过在终端中运行以下命令来执行此操作:

男人找到