如何为ls命令的输出列设置颜色,实现类似ls -al的彩色效果?
给
ls -al配置整齐彩色列的实用方案 嘿,我完全懂你想要的效果——让ls -al的输出既有工工整整的对齐列,又有清晰区分的彩色高亮对吧?刚好我对这个配置门儿清,给你一步步拆解怎么实现:
第一步:先搞定基础的彩色+对齐
大部分现代Linux发行版的GNU ls都支持彩色输出,先在终端里敲这个试试水:
ls -al --color=auto
--color=auto是个贴心参数:只有在终端输出时才显示彩色,要是把输出重定向到文件里,它会自动关掉颜色,避免乱码。而-al本身就会以长格式输出整齐的列,要是觉得目录混在文件里看着乱,再加个--group-directories-first,让目录直接排在最前面,视觉上清爽多了:
ls -al --color=auto --group-directories-first
第二步:自定义彩色规则(核心玩法)
默认的彩色可能不是你喜欢的风格,咱们可以通过LS_COLORS环境变量自定义各种文件类型的颜色。比如我常用的这套配置:
export LS_COLORS="di=1;34:ln=1;36:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
给你翻译下关键项:
di=1;34:目录显示成蓝色加粗,一眼就能找到ln=1;36:符号链接用青色加粗,区分真实文件ex=1;32:可执行文件标成绿色加粗,一眼识别能跑的程序su=30;41:setuid权限的文件用黑底红,提醒你这玩意儿权限特殊
颜色码对应ANSI标准,你可以随便改:
- 前景色:30(黑)、31(红)、32(绿)、33(黄)、34(蓝)、35(紫)、36(青)、37(白)
- 背景色:40-47对应上面的颜色
- 样式:1(加粗)、4(下划线)、5(闪烁),按需搭配就行
第三步:让配置永久生效
总不能每次开终端都敲一遍吧?把上面的export命令加到你的shell配置文件里:
- 用bash的话,加到
~/.bashrc - 用zsh的话,加到
~/.zshrc
然后执行source ~/.bashrc(zsh就换成source ~/.zshrc),配置立刻生效,下次开终端直接用。
第四步:极致对齐小技巧(可选)
要是遇到文件名特别长,默认的ls列对齐有点歪歪扭扭的,试试用column命令强制对齐:
ls -al --color=auto --group-directories-first | column -t
column -t会自动识别列分隔的空格,把每一列都对齐得整整齐齐,而且完全不会破坏彩色效果,亲测好用。
最后:整个别名偷懒
为了不用每次敲一大串命令,整个别名:
# 基础版 alias ll='ls -al --color=auto --group-directories-first' # 极致对齐版 alias ll='ls -al --color=auto --group-directories-first | column -t'
以后直接敲ll,就能得到你想要的那种整齐又带彩色的输出啦!
内容的提问来源于stack exchange,提问作者Pirx
相关产品推荐
相关产品推荐

