Linux 递归查找
“在 Linux 中,我们可以使用各种命令和工具递归地列出文件和目录。在本教程中,我们将为您提供一些可用于完成此任务的命令和工具。 ”
Linux 树命令
递归目录列表允许您查看和查找嵌套在其他子目录中的文件。
为此目的而构建的命令之一是 tree 命令。树是一个简单而强大的目录列表实用程序。您可以指定希望在单个命令中显示的深度级别。
顾名思义,树允许您以树状格式显示嵌套目录中的文件。它还为您提供有关指定路径的详细信息,包括文件和目录的总数等。
要安装它,请使用系统包管理器:
$ sudo pacman -Sy tree
$ sudo yum install tree
然后,您可以使用 tree 命令,后跟目标目录的路径。
例如,以下命令显示 /var/logs 目录中的所有文件和目录:
要查找所有文件和目录,包括隐藏文件,可以将 -a 标志与 tree 命令一起使用:
使用查找
您还可以使用 find 命令,后跟目标目录和要查找的文件。
例如,要在根目录中找到文件 access.logs,请使用以下命令:
该命令将从根目录开始,递归搜索所有子目录并找到具有指定名称的任何文件。
要查找以特定扩展名结尾的任何文件,请运行以下命令:
该命令将从句点指定的当前工作目录开始,并递归搜索以 .txt 扩展名结尾的所有文件。
使用 fd 命令
fd 命令是一个免费的开源实用程序,是作为 find 命令的替代品而开发的。
它非常快速且用户友好,并且具有令人难以置信的功能。当您需要查找嵌套在一系列子目录中的文件时,这是一个很棒的工具。
要安装它,请运行以下命令:
Debian
REHL/Fedora
拱门
openSUSE
安装后,您可以通过运行 fd 命令后跟目标文件名来搜索文件。
该命令将扫描整个文件系统并找到与指定模式匹配的任何文件。当您搜索配置文件时,这非常有用。
要查找与特定正则表达式模式匹配的文件:
在这种情况下,该命令将搜索所有匹配 .rc 的文件,例如 .bashrc、.zshrc 等。
要递归列出所有文件和目录,请在目标目录中运行 fd 命令。例如,显示 /var/log 目录中的所有文件和目录:
fd
该命令将显示列表中的所有文件和目录。然后,您可以将此结果传送到 less 或 grep 等工具中。
要使用 fd 命令搜索与特定扩展名匹配的文件,请运行:
该命令将递归搜索所有以 .py 扩展名结尾的文件。
要搜索 tar 存档并提取它们,请运行:
结论
本教程为您提供了在 Linux 系统中递归查找文件和目录的独特方法。