首页 > 运维 > linux运维 > 正文

【每天一个 Linux 命令】tree命令

爱谁谁
发布: 2025-07-10 12:24:16
原创
517人浏览过

大家好,我们又见面了,我是你们的老朋友全栈君。

  1. 前言

本文主要介绍Linux系统上如何使用tree命令的详细方法。

tree命令是一个小巧的跨平台命令行工具,用于以树状结构递归显示目录的内容。它能够输出每个子目录中的目录路径和文件,并提供子目录和文件总数的摘要。

tree程序适用于Unix及类Unix系统(如Linux),也支持DOS、Windows及其他许多操作系统。它提供了多种输出选项,包括文件选项、排序选项和图形选项,支持XML、JSON和HTML格式的输出。

在这篇教程中,我们将通过实际使用案例,展示如何在Linux系统上使用tree命令递归列出目录的内容。

【每天一个 Linux 命令】tree命令Linux tree 命令详细使用说明

  1. 在各种发行版上安装tree命令

几乎所有Linux发行版都支持tree命令,但如果系统默认未安装,可以通过相应的包管理器来安装,如下所示。

(1) 在RHEL/CentOS 7上安装tree命令工具

yum install tree 
登录后复制

(2) 在Fedora 22+ /RHEL/CentOS 8上安装tree命令工具

dnf install tree 
登录后复制

(3) 在Ubuntu/Debian系统上安装tree命令工具

sudo apt install tree 
登录后复制

(4) 在openSUSE系统上安装tree命令工具

sudo zypper in tree 
登录后复制
  1. tree命令的日常使用案例

语法

tree [-aACdDfFgilnNpqstux][-I ][-P ][目录...]
登录后复制

参数说明:

-a 显示所有文件和目录。 -A 使用ASNI绘图字符显示树状图,而非ASCII字符组合。 -C 在文件和目录列表中添加颜色,方便区分不同类型。 -d 仅显示目录名称,不显示内容。 -D 列出文件或目录的最后修改时间。 -f 在每个文件或目录前显示完整的相对路径名称。 -F 在执行文件、目录、Socket、符号链接、管道名称后分别加上“*”、“/”、“=”、“@”、“|”号。 -g 列出文件或目录的所属群组名称,如无对应名称,则显示群组识别码。 -i 不以阶梯状列出文件或目录名称。 -L level 限制目录显示的层级。 -l 如遇到符号链接的目录,直接列出该链接指向的原始目录。 -n 不在文件和目录列表中添加颜色。 -N 直接列出文件和目录名称,包括控制字符。 -p 列出权限标识。 -P 只显示符合指定模式的文件或目录名称。 -q 用“?”号替代控制字符,列出文件和目录名称。 -s 列出文件或目录的大小。 -t 按文件和目录的最后修改时间排序。 -u 列出文件或目录的拥有者名称,如无对应名称,则显示用户识别码。 -x 将范围限定在当前文件系统内,若指定目录下的某些子目录位于另一个文件系统上,则排除在搜索范围之外。

安装tree命令后,您可以通过以下使用案例进一步学习其用法。

要以树状格式列出目录内容,请切换到所需目录并运行tree命令,无需任何选项或参数,如下所示。某些目录需要root权限,请使用sudo调用root权限,获取访问权。

tree 
登录后复制

【每天一个 Linux 命令】tree命令

它将递归显示工作目录的内容,展示子目录和文件,以及子目录和文件总数的摘要。您可以使用-a标志显示隐藏文件。

tree -a 
登录后复制

要列出每个子目录和文件的完整路径内容,请使用-f选项,如下所示。

tree -f 
登录后复制

【每天一个 Linux 命令】tree命令

天工
天工

昆仑万维推出的通用AI智能体平台,原天工AI

天工212
查看详情 天工

您还可以使用-d选项指定tree仅打印子目录,不显示里面的文件。如果与-f选项一起使用,tree将打印完整的目录路径,如下所示。

tree -d  
登录后复制

【每天一个 Linux 命令】tree命令

tree -df 
登录后复制

可以使用-L选项指定目录树的最大显示深度。例如,如果您希望深度为2,则运行以下命令。

tree -f -L 2 
登录后复制

下面是将目录树的最大显示深度设置为3的使用案例:

tree -f -L 3 
登录后复制

若要仅显示与通配符内容匹配的文件,请使用-P选项并指定您的匹配内容。在本例中,该命令将只列出与cata*匹配的文件,例如Catalina.sh, catalina.bat等将被列出。

tree -f -P cata* 
登录后复制

【每天一个 Linux 命令】tree命令

还可以通过添加–prune选项告诉tree从输出内容中删除空目录,如下所示。

tree -f --prune 
登录后复制

tree还支持一些有用的文件选项,如-p,它以类似ls -l命令的方式打印每个文件的文件类型和权限。

tree -f -p  
登录后复制

此外,要打印每个文件的用户名(如果没有用户名,则为UID),使用-u选项,而-g选项打印组名(如果没有组名,则为GID)。您可以组合-p、-u和-g选项来执行类似于ls -l命令的输出结果,显示文件和目录的详细信息。

tree -f -pug 
登录后复制

还可以使用-s选项打印每个文件的字节大小以及文件名。为了以更易于阅读的格式打印每个文件的大小,使用-h选项并指定大小字母表示千字节(K)、兆字节(M)、千兆字节(G)、tb (T)等。

tree -f -s 
登录后复制

或者

tree -f -h 
登录后复制

要显示每个子目录或文件的最后修改时间的日期,请使用-D选项,如下所示。

tree -f -pug -h -D 
登录后复制

【每天一个 Linux 命令】tree命令

另一个有用的选项是–du,它将显示指定目录所占用的磁盘空间。

tree -f --du 
登录后复制

您还可以使用-o选项将tree的输出内容发送或重定向到文件名,以便稍后进行分析。

tree -o direc_tree.txt 
登录后复制

发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/542b9ce5413bbceea136fecb513df4c3

以上就是【每天一个 Linux 命令】tree命令的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号