如何在Linux中查看目录树结构
今天,我们将学习如何使用Tree命令查看目录结构。
此命令将以树状格式显示目录的内容。
我们可能想知道为什么地球上有人会使用此命令,而我们已经有了ls命令来列出目录的内容。
与ls命令不同,Tree命令是一个递归目录列表程序,该程序生成深度缩进的文件列表。
在类Unix系统中查找包含许多子目录的目录非常有用。
安装tree
大多数Linux发行版的默认存储库中都提供Tree命令。
因此,可以从发行版的默认程序包管理器中进行安装,如下所示。
在Arch Linux及其衍生版本上:
$sudo pacman -S tree
在RHEL,CentOS,Fedora上:
$sudo yum install tree
或者,
$sudo dnf install tree
在SUSE/openSUSE上:
$sudo zypper install tree
在Debian,Linux Mint,Ubuntu上:
$sudo apt-get install tree
我们已经安装了树实用程序。
现在,让我们看一些实际的例子。
如果运行不带任何参数的tree命令,tree命令将以树状格式显示当前工作目录的所有内容。
$tree
输出示例:
列出所有找到的文件/目录后,tree返回列出的文件和/或者目录总数。
从上面的输出中可以看到,当前目录包含3321个子目录和40023个文件。
要以树状格式列出特定目录的文件,例如运行/etc,请运行:
$tree /etc/
输出示例:
默认情况下,Tree不会列出隐藏文件。
如果要列出隐藏文件,请使用-a参数,如下所示。
$tree -a /etc/
输出示例:
现在,检查上面的输出。
目录和文件的总数高于上一个输出。
这是因为这一次树命令列出了所有目录和文件,包括隐藏文件。
要以彩色格式查看目录结构,请使用-C参数。
$tree -C /etc/
输出示例:
你注意到了吗?
现在,tree命令以不同的颜色列出目录和文件。
这将有助于轻松区分目录和文件。
我们可能已经注意到,以上所有命令均列出了子目录和文件。
我们也可以使用-d参数仅列出目录,如下所示。
$tree -d /etc/
输出示例:
我们还可以使用以下命令逐行显示目录列表:
$tree -d /etc/| less
按ENTER键浏览输出。
默认情况下,Tree命令将列出所有子目录和主目录中的文件。
要限制深度或者递归级别,请使用如下所示的-L参数。
$tree -L 2 /etc
在此,L表示目录树的最大显示深度。
有关更多详细信息,请参见手册页。
$man tree