如何在 Linux 中使用 Find 命令搜索文件或目录

介绍

在 Linux 系统中,一切都被视为一个文件。 搜索这些文件是每个用户都必须完成的一项简单任务。 尽管有多种方法可以完成此任务,但使用 Find 命令搜索是查找目标文件/目录的最有效和最方便的方法。

在本教程中,您将学习 Find 命令、它的选项以及超出基本语法的用法。

find [file/directory path] [options] [expression]

先决条件

终端访问。

笔记: 本教程中的命令在 Linux Mint 系统上执行。 这些说明适用于任何基于 Linux 的系统。

按名称浏览文件/目录

要使用“-name”选项按名称搜索特定文件,请运行以下命令。

find /home -type f -name <filename>.txt

同样,您可以使用以下命令按名称查找目录。

find /home -type d -name <directory name>

笔记: 上述命令中的“-type”选项指定我们是在搜索文件还是目录。

默认情况下,查找命令搜索区分大小写。 要在不区分大小写的情况下进行搜索,请使用“-iname”选项。

find /home -type d -iname pictures

按扩展名浏览文件/目录

您可以使用以下命令使用其扩展模式来缩小文件范围。

find /home -type f -name "*.txt"

按文件类型和大小浏览文件/目录

要搜索特定类型的文件,请在 Find 命令中使用“-type”选项。

find /home -type d

您可以通过使用“-size”选项提供大小限制来限制文件的搜索。 ‘+’ 和 ‘-‘ 符号是用于“大于”和“小于”运算符的格式。

find /home -type f -size +5M

使用时间戳浏览文件/目录

您可以通过使用“-mtime”、“-atime”和“-ctime”选项指定文件的修改、访问和创建时间来搜索文件。 以下命令搜索已修改过去两天时间戳的文件。

find /home -type f -name "*.txt" -mtime -2

find /home -type f -name "*.txt" -atime +4

find /home -type f -name "*.txt" -ctime -2

浏览具有特定权限的文件/目录

要查找具有特定权限的文件,请使用“-perm”选项。 以下命令查找具有只读限制的文件。

find /home -type f -perm /u=r

同样,以下命令使用 -perm 选项查找可执行文件。

find /home -type f -perm /a==x

按用户和组浏览文件/目录

要按用户和用户组搜索文件/目录,请使用“-user”和“-group”选项运行 find 命令。

find /home -type f -user mintlinuxways

find /home -type f -group mintlinuxways

浏览空的或隐藏的文件/目录

您可以使用以下命令找到系统中的所有空文件/目录。

find /home -type f -empty

find /home -type d -empty

搜索和删除文件/目录

您可以使用 Find 命令中的“-delete”或“-exec rm”选项同时搜索和删除文件。

find /home -type f -name "*.pdf" -delete

find /home -type f -name "*.pdf" -exec rm -f {} ;

复杂的命令

此外,您可以将上述命令与“-and”、“-or”和“-not”选项结合使用,以获得更多功能。 例如,以下命令搜索具有两个条件的文件。

find /home -user mintlinuxways -and -size +5M

结论

在本教程中,您详细了解了 Find 命令。 您已经了解了如何使用 Find 命令有效地搜索和执行不同的操作。