在本指南中,您将学习如何使用Linux来查找文件或一系列文件。
您可以使用Linux发行版提供的文件管理器来搜索文件。 如果您习惯使用Windows,那么文件管理器就类似于Windows资源管理器。 它包含一个用户界面,其中包含一系列文件夹,单击这些文件夹可以显示这些文件夹中的子文件夹以及其中包含的任何文件。
大多数文件管理器提供搜索功能和过滤文件列表的方法。
搜索文件的最佳方法是使用Linux命令行,因为搜索文件的方法多于图形工具可能尝试包含的方法。
如何打开终端窗口
为了使用Linux命令行搜索文件,您需要打开一个终端窗口。
有很多方法可以打开终端窗口 。 确保在大多数Linux系统上工作的一种方法是同时按下CTRL,ALT和T键。 如果无法使用Linux桌面环境中的菜单来查找终端编辑器。
最简单的方法来查找文件
用于搜索文件的命令称为find。
以下是查找命令的基本语法。
找
起点是您想要从中开始搜索的文件夹。 要开始搜索整个驱动器,您需要输入以下内容:
找 /
但是,如果您想要开始搜索您当前所在的文件夹,则可以使用以下语法:
找 。
通常,在搜索时,您将希望按名称进行搜索,因此,要在整个驱动器中搜索名为myresume.odt的文件,您可以使用以下语法:
找到/ -name myresume.odt
find命令的第一部分显然是find这个词。
第二部分是从哪里开始搜索
下一部分是一个决定要找到什么的表达式。
最后,最后一部分是要找到的东西的名称。
从哪里开始搜索
正如前一节中简要提到的那样,您可以选择文件系统中的任何位置开始搜索。 例如,如果您要搜索当前文件系统,则可以使用句号,如下所示:
找 。 名称的游戏
上述命令将在当前文件夹下的所有文件夹中查找名为游戏的文件或文件夹。 您可以使用pwd命令找到当前文件夹的名称。
如果你想搜索整个文件系统,那么你需要从根文件夹开始,如下所示:
找到/ -name游戏
上述命令返回的结果可能会显示许多返回结果的权限被拒绝。
您可能需要使用sudo命令提升权限,或使用su命令切换到管理员帐户。
起始位置可以在字面上位于文件系统的任何位置。 例如,要搜索主文件夹,请键入以下内容:
找〜〜名游戏
代字号是通常用于表示当前用户的主文件夹的元字符 。
表达式
最常用的表达式是-name。
使用-name表达式可以搜索文件或文件夹的名称。
但是,您可以使用其他表达式,如下所示:
- -amin n - 该文件最近一次访问n分钟前
- -anewer - 该文件最近访问的时间比修改后的时间更晚
- -atime n - 该文件最近一次被访问的时间超过n天
- -cmin n - 文件在n分钟前最后更改
- -cnewer - 该文件最近一次更改的时间比文件被修改的时间更晚
- -ctime n - 该文件最近一次更改时间超过n天
- -empty - 文件为空
- -executable - 文件是可执行的
- 错误 - 总是假的
- -fstype类型 - 该文件位于指定的文件系统上
- -gid n - 文件属于ID为n的组
- -group groupname - 文件属于指定的组
- - 名称模式 - 搜索符号行但忽略大小写
- -iname模式 - 搜索文件但忽略大小写
- -inum n - 搜索具有指定节点的文件
- -ipath路径 - 搜索路径但忽略大小写
- -iregex表达式 - 搜索表达式,但忽略大小写
- - 链接n - 搜索具有指定链接数量的文件
- -lname名称 - 搜索符号链接
- -mmin n - 文件的数据是在n分钟前最后修改的
- -mtime n - 文件的数据在n天前最后修改
- -name名称 - 搜索具有指定名称的文件
- - 更新名称 - 搜索最近编辑的文件,而不是最近编辑的文件
- -nogroup - 搜索没有组ID的文件
- - 用户 - 搜索没有用户附加的文件
- - 路径路径 - 搜索路径
- - 可读 - 找到可读的文件
- -regex模式 - 搜索匹配正则表达式的文件
- 类型 - 搜索特定类型
- -uid uid - 文件数字用户标识与uid相同
- 用户名 - 文件由用户指定
- - 可写 - 搜索可写入的文件
如何查找访问超过特定天数的文件
想象一下,您想要在100天前访问您的主文件夹中的所有文件。 如果要备份和删除不经常访问的旧文件,可能需要执行此操作。
为了做到这一点,运行以下命令:
找到〜-atime 100
如何查找空文件和文件夹
如果您想查找系统中的所有空文件和文件夹,请使用以下命令:
find / -empty
如何查找所有可执行文件
如果您想在计算机上查找所有可执行文件,请使用以下命令:
找到/ -exec
如何查找所有可读文件
要查找所有可读的文件,请使用以下命令:
找/读
模式
当你搜索一个文件时,你可以使用一个模式。 例如,也许你正在搜索扩展mp3的所有文件。
您可以使用以下模式:
找到/ -name * .mp3
如何从查找命令发送输出到文件
find命令的主要问题是它有时会返回太多的结果以便一次查看。
您可以将输出传输到tail命令,或者可以将行输出到文件,如下所示:
找到/ -name * .mp3 -fprint nameoffiletoprintto
如何查找并执行针对文件的命令
想象一下你想要同时搜索和编辑文件。
您可以使用以下命令:
find / -name filename -exec nano'{}'\;
上述命令搜索名为filename的文件,然后为其找到的文件运行nano编辑器 。
概要
find命令非常强大。 本指南演示了如何搜索文件,但有大量的选项可用,并且要了解所有这些选项,您应该查看Linux手册。
您可以通过在终端中运行以下命令来执行此操作:
男人找到