HCRM博客

CentOS 8 tree命令彩色高亮显示文件类型教程

CentOS8 tree命令怎么高亮显示不同文件类型?

CentOS 8 tree命令彩色高亮显示文件类型教程-图1

刚装好的CentOS8最小系统,敲完tree只看到一片灰白,眼睛瞬间罢工。想让它像Ubuntu那样给目录、可执行文件、压缩包分别上色,其实就缺两行配置。下面把踩坑笔记一次性摊开,照着做,三分钟就能收获一面彩色墙。

CentOS 8 tree命令彩色高亮显示文件类型教程-图2

一、先确认系统里到底是哪个tree

CentOS8默认仓库提供两个版本:基础tree和tree-plus。前者不带颜色,后者支持LS_COLORS。输入tree --version,如果返回tree v1.8.0且没有color字样,说明是“阉割版”。直接dnf remove tree卸干净,再dnf install tree-plus,这一步能省掉后续90%的折腾。

二、让终端先学会“看颜色”

tree的颜色依赖终端的256色模式。执行echo $TERM,如果返回xterm而不是xterm-256color,颜色就被悄悄吞掉。临时开色,运行export TERM=xterm-256color;想永久生效,写进~/.bashrc,随后source一下即可。

三、LS_COLORS是调色盘

tree不会自己乱配色,它读的是系统变量LS_COLORS。先装一把dircolorsdnf install coreutils。然后执行dircolors --print-database,能看到一堆*.tar=01;31之类的代码。01表示加粗,31是红色,意思就是“压缩包用粗红”。把输出重定向到~/.dircolorsdircolors --print-database > ~/.dircolors,再在~/.bashrc里加一行:eval "$(dircolors ~/.dircolors)",重新登录,调色盘就常驻内存。

四、tree命令的正确打开方式

做完上面三步,直接敲tree依旧可能灰头土脸,因为默认没开颜色开关。记住两组常用参数:

tree -C //强制开颜色,适合单次查看

tree --color=always //管道给less、grep时也能保留颜色

想一劳永逸,给tree起别名:echo "alias tree='tree -C'" >> ~/.bashrc,下次输入tree就自带高亮。

五、自定义颜色:把.sh染成亮黄

系统默认把可执行文件设成粗绿,可shell脚本一多,绿成一片,根本分不清。编辑~/.dircolors,找到EXEC那一行,下面插入:

*.sh=01;93

CentOS 8 tree命令彩色高亮显示文件类型教程-图3

93是亮黄,01保持加粗。保存后source ~/.bashrc,再tree,所有.sh文件瞬间跳脱出来。照猫画虎,把.log设成灰色47,.conf设成青色36,全凭喜好。

六、超大目录提速:彩色也不卡

给几万个文件的目录跑tree,彩色模式偶尔拖慢。加-L 2限制深度,再配-f显示完整路径,既能看颜色又避免刷屏。若只想统计,用tree -C -d只看目录,速度回炉。

七、脚本里也能用彩色tree

写巡检脚本时,把彩色结果写进邮件,需要--color=always配合aha工具转html:

tree -C --color=always -L 2 /var/www | aha > report.html

这样收到的邮件正文就是带色目录树,老板一眼能看到重点。

八、常见翻车点速查

1. 用了tmux或screen,颜色消失:在配置文件里加set -g default-terminal "tmux-256color"

2. 远程ssh登录无色:检查服务端/etc/ssh/sshd_configAcceptEnv TERM是否被注释。

3. Mac终端连接CentOS8无色:Mac默认TERM=xterm-256color,但部分老版本需手动同步。

把上面几点挨个敲完,再跑tree,目录、普通文件、可执行、压缩包、图片各归其色,一眼定位,排查效率直接翻倍。彩色不只是好看,更是让文件类型自己开口说话。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41761.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~