CentOS7安装tree命令以树形查看目录结构:一条命令让文件夹一目了然

在黑色终端里敲ls -l,满屏文件名滚过去,依旧找不到刚刚解压的源码包放哪了?CentOS7安装tree命令以树形查看目录结构后,只需轻敲三字母,整个文件夹瞬间变成清晰的“思维导图”,父子关系、层级深度一眼锁定,再也不用反复cd、ls来回横跳。

为什么非tree不可?——原生ls的盲区
ls只能横向罗列,遇到多层嵌套,屏幕瞬间爆炸;find虽然能递归,但输出是线性瀑布,看不出谁是谁的“孙子”。tree把目录变成ASCII树,分支用线条,目录用色彩,文件用缩进,同级、下级、下下级关系一目了然,复制路径、排查冗余、写脚本遍历都方便。
CentOS7最小化安装默认没带tree——90%新手踩坑
不少服务器为了“瘦身”选择Minimal ISO,装完系统第一件事就是发现bash: tree: command not found。不是系统坏了,而是tree在base组里被阉割了。搞定它只需一条yum,但源配置、权限、版本差异里藏着细节,下面一步步拆给你看。
三步极速安装:从0到树形输出
- 确认网络&源
ping -c 3 mirror.centos.org能通再继续;若公司内网,先把/etc/yum.repos.d/CentOS-Base.repo换成内部镜像,别等会卡在“Could not resolve host”。 - 一条命令装本体
sudo yum -y install tree看到“Complete!”即搞定,体积仅约110 k,秒级完成。
- 验证版本
tree --version回显类似“tree v1.6.0”,说明仓库给的是稳定老版,够用。

常用参数速记:让tree更听话
tree -L 2只展开两层,防止/var下几千文件刷屏。tree -d只看目录,不显示文件,快速勾画骨架。tree -h带人类可读大小,配合du找磁盘杀手。tree -pug打印权限、属主、属组,审计必备。tree -I 'node_modules|.git'排除干扰目录,前端项目利器。tree -H . > index.html生成带超链接的网页,把目录树直接挂到nginx,秒变简陋文件服务器。
没外网怎么办?——离线rpm方案
内网机器无法yum,提前在能上网的同版本CentOS7执行:
yumdownloader --resolve tree
得到tree-1.6.0-10.el7.x86_64.rpm及依赖,拷进U盘,再:
sudo rpm -Uvh tree*.rpm
无依赖报错即安装成功;若提示缺失lib,记得把filesystem、glibc等基础包一并拖回来。
一条命令看不清?——把树保存再慢慢看
日志目录十几层,终端缓冲区撑爆:
tree /var/log -L 3 -h > /tmp/logmap.txt
然后用less、scp拉到Windows用Notepad++慢慢翻,排查日志轮转异常、空目录残留不再抓狂。
给脚本用:让tree输出成JSON
新版本支持-J参数,直接吐出JSON数组,配合jq一行就能统计目录数:
tree -J -d -L 2 /data | jq '.[] | select(.type=="directory") | .name' | wc -l
自动化巡检、资产盘点都能塞Shell函数里,晚上定时跑,第二天收邮件即可。
常见翻车点&急救
- 乱码:终端UTF-8没开,export LANG=en_US.UTF-8再试。
- 线条变问号:SecureCRT字体不支持树形字符,换“新宋体”或Xshell即可。
- 权限拒绝:想tree根目录却一堆“Permission denied”,用sudo或加
-q静默跳过。
把tree玩成“监控大屏”
写个while循环,每秒tree -L 1 /upload,再用watch -c高亮差异,谁上传了新文件立刻闪现;配合inotifywait还能触发钉钉机器人,比买商业文件审计系统省钱多了。
CentOS7安装tree命令以树形查看目录结构看似只是多装一个小工具,实则把“肉眼可见”的效率直接拉满:排查路径、写README、给领导汇报项目层级,都能省下大把截图拼接的时间。现在就打开终端,敲下那三字母,让文件夹瞬间长出“参天大树”吧。
