Linux 终端文件列表着色方案 🌈
本指南详细介绍如何为 Linux 的 ls
命令配置彩色输出,让文件列表更加直观和易于识别。通过精心设计的颜色方案,您可以大幅提升终端使用效率和体验!🎨
📖 导航目录
🎯 一、快速配置方法 1. 创建着色配置 1 2 3 4 5 6 7 8 9 cat >> ~/.bashrc << 'EOF' alias ls ='ls --color=auto' export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:bd=1;34:cd=1;34:su=1;41:sg=1;46:tw=1;42:ow=1;33:*.gz=1;32:*.mp4=1;32' EOF source ~/.bashrc
2. 验证配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ls -laecho $LS_COLORS mkdir -p /tmp/color-test && cd /tmp/color-testtouch {file.txt,script.sh,image.jpg,archive.tar.gz,music.mp3}chmod +x script.shln -s file.txt link.txtmkfifo pipe.fifols -la
📊 二、颜色代码详解 文件类型颜色代码
代码
颜色
效果
示例
1;34
蓝色
粗体蓝色
目录
1;36
青色
粗体青色
符号链接
1;35
紫色
粗体紫色
Socket 文件
1;33
黄色
粗体黄色
命名管道
1;32
绿色
粗体绿色
可执行文件
1;41
红底
粗体白色,红色背景
setuid 文件
1;46
青底
粗体黑色,青色背景
setgid 文件
1;42
绿底
粗体黑色,绿色背景
粘滞位目录
文件类型标识符
代码
文件类型
说明
示例
di
目录
Directory
/home/user/
ln
符号链接
Symbolic Link
link -> target
so
Socket 文件
Socket
/run/service.sock
pi
命名管道
FIFO/Named Pipe
pipe.fifo
ex
可执行文件
Executable
script.sh
bd
块设备
Block Device
/dev/sda
cd
字符设备
Character Device
/dev/tty
su
setuid 文件
Set UID
/usr/bin/passwd
sg
setgid 文件
Set GID
/usr/bin/wall
tw
粘滞位目录
Sticky Bit Directory
/tmp/
ow
其他可写目录
Other Writable Directory
/var/www/
*.ext
扩展名匹配
按文件扩展名
*.txt
, *.jpg
颜色代码格式 1 2 3 4 5 6 7 TYPE=STYLE;FOREGROUND;BACKGROUND di=1;34 *.txt=1;32 *.jpg=1;35
样式代码
代码
样式
0
正常样式
1
粗体
4
下划线
5
闪烁
7
反显
8
隐藏
颜色代码表
代码
前景色
背景色
30
黑色
40
31
红色
41
32
绿色
42
33
黄色
43
34
蓝色
44
35
紫色
45
36
青色
46
37
白色
47
39
默认前景色
49
🎨 三、自定义颜色方案 1. 基础颜色方案 1 2 export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:*.tar=31:*.tgz=31:*.zip=31:*.gz=31:*.bz2=31:*.deb=31:*.rpm=31:*.jpg=35:*.png=35:*.gif=35:*.mp4=35:*.mp3=35:'
2. 高级颜色方案 1 2 export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
3. 暗色主题方案 1 2 export LS_COLORS='di=1;36:ln=1;35:so=1;32:pi=1;33:ex=1;31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=34;42:*.c=1;33:*.h=1;33:*.py=1;33:*.js=1;33:*.html=1;33:*.css=1;33:*.json=1;33:'
4. 高对比度方案 1 2 export LS_COLORS='di=1;37;44:ln=1;37;46:so=1;37;45:pi=1;37;43:ex=1;37;42:bd=1;37;44:cd=1;37;44:su=1;37;41:sg=1;30;47:tw=1;30;42:ow=1;37;44:*.txt=1;37:*.sh=1;32:*.py=1;33:*.js=1;33:*.html=1;33:*.css=1;33:*.jpg=1;35:*.png=1;35:*.gif=1;35:*.mp4=1;35:*.mp3=1;36:'
⚙️ 四、系统级配置 1. 全局配置(所有用户) 1 2 3 4 5 6 7 8 9 10 11 sudo nano /etc/bash.bashrcif [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors) " || eval "$(dircolors -b) " alias ls ='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi
2. 使用 dircolors 配置文件 1 2 3 4 5 6 7 8 9 10 11 dircolors -p > ~/.dircolorsnano ~/.dircolors eval "$(dircolors -b ~/.dircolors) " cat ~/.dircolors | head -20
3. 为不同用户设置不同方案 1 2 3 4 5 6 7 8 9 10 11 cat > ~/.ls_colors << 'EOF' di=1;34:ln =1;36:so=1;35:pi=1;33:ex=1;32 *.txt=1;37:*.sh=1;32:*.py=1;33:*.js=1;33 *.jpg=1;35:*.png=1;35:*.gif=1;35 *.mp4=1;35:*.mp3=1;36:*.flac=1;36 EOF echo 'export LS_COLORS=$(cat ~/.ls_colors | tr -d "\n")' >> ~/.bashrc
🔧 五、其他相关配置 1. 为其他命令启用颜色 1 2 3 4 5 6 7 8 9 10 11 12 13 alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias ip='ip -color=auto' alias diff='diff --color=auto' alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'
2. 树状显示带颜色 1 2 3 4 5 6 7 8 9 10 11 sudo apt install treealias tree='tree -C' echo "alias tree='tree -C'" >> ~/.bashrctree -L 2 /home
3. 彩色 man 页面 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 export LESS_TERMCAP_mb=$'\E[1;31m' export LESS_TERMCAP_md=$'\E[1;36m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_us=$'\E[1;32m' export LESS_TERMCAP_ue=$'\E[0m' cat >> ~/.bashrc << 'EOF' export LESS_TERMCAP_mb=$'\E[1;31m' export LESS_TERMCAP_md=$'\E[1;36m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_us=$'\E[1;32m' export LESS_TERMCAP_ue=$'\E[0m' EOF
4. 彩色提示符 1 2 3 4 5 PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(git branch 2>/dev/null | grep -e ^* | sed -E "s/^\* (.+)$/ \[\033[01;33m\](\1)\[\033[00m\]/")\$ '
🐛 六、故障排除 1. 颜色不显示 1 2 3 4 5 6 7 8 9 10 11 12 13 14 echo $TERM export TERM=xterm-256colorecho $NO_COLOR unset NO_COLORls --color=always | head -5
2. 颜色配置无效 1 2 3 4 5 6 7 8 9 10 11 source ~/.bashrcalias ls echo $LS_COLORS grep -n "LS_COLORS\|alias ls" ~/.bashrc ~/.profile ~/.bash_profile
3. 恢复默认设置 1 2 3 4 5 6 7 8 9 10 sed -i '/LS_COLORS/d' ~/.bashrc sed -i '/alias ls/d' ~/.bashrc source ~/.bashrcexport LS_COLORS="" alias ls ='ls --color=auto'
4. 终端兼容性问题 1 2 3 4 5 6 7 8 if [ "$TERM " = "dumb" ]; then alias ls ='ls --color=never' alias grep='grep --color=never' else alias ls ='ls --color=auto' alias grep='grep --color=auto' fi
💡 七、实用技巧 1. 临时测试颜色方案 1 2 3 4 5 LS_COLORS='di=1;34:ln=1;36:ex=1;32' ls -la LS_COLORS='*.sh=1;32:*.py=1;33:*.js=1;33' ls -la
2. 查看所有颜色代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 for i in {0..255}; do printf "\e[48;5;%sm%3d\e[0m " $i $i if (( (i + 1 ) % 16 == 0 )); then printf "\n" fi done echo -e "\e[0mNC (No color)" echo -e "\e[1;37mBold White\e[0m" echo -e "\e[1;31mBold Red\e[0m" echo -e "\e[1;32mBold Green\e[0m" echo -e "\e[1;33mBold Yellow\e[0m" echo -e "\e[1;34mBold Blue\e[0m" echo -e "\e[1;35mBold Purple\e[0m" echo -e "\e[1;36mBold Cyan\e[0m"
3. 创建颜色测试脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 mkdir -p /tmp/color-testcd /tmp/color-testtouch {file.txt,script.sh,image.jpg,archive.tar.gz,music.mp3}chmod +x script.shln -s file.txt link.txtmkfifo pipe.fifols -lacd ..rm -rf /tmp/color-test
4. 导出和导入配置 1 2 3 4 5 6 7 8 echo $LS_COLORS > ls_colors_backup.txtexport LS_COLORS=$(cat ls_colors_backup.txt)echo "export LS_COLORS='$LS_COLORS '" >> ~/shared_ls_colors.sh
🌟 八、颜色方案推荐 1. 程序员专用方案 1 export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:bd=1;34:cd=1;34:su=1;41:sg=1;46:tw=1;42:ow=1;33:*.c=1;33:*.h=1;33:*.cpp=1;33:*.hpp=1;33:*.py=1;33:*.js=1;33:*.html=1;33:*.css=1;33:*.json=1;33:*.xml=1;33:*.yml=1;33:*.yaml=1;33:*.md=1;33:*.txt=1;37:*.conf=1;33:'
2. 多媒体方案 1 export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:*.jpg=1;35:*.jpeg=1;35:*.png=1;35:*.gif=1;35:*.bmp=1;35:*.mp4=1;35:*.avi=1;35:*.mkv=1;35:*.mov=1;35:*.mp3=1;36:*.flac=1;36:*.wav=1;36:*.ogg=1;36:*.aac=1;36:'
3. 文档方案 1 export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:*.pdf=1;31:*.doc=1;31:*.docx=1;31:*.xls=1;31:*.xlsx=1;31:*.ppt=1;31:*.pptx=1;31:*.odt=1;31:*.ods=1;31:*.odp=1;31:*.txt=1;37:*.rtf=1;37:*.tex=1;33:'
4. 服务器管理方案 1 export LS_COLORS='di=1;34:ln=1;36:so=1;35:pi=1;33:ex=1;32:*.conf=1;33:*.cfg=1;33:*.ini=1;33:*.yml=1;33:*.yaml=1;33:*.json=1;33:*.xml=1;33:*.log=1;37:*.sql=1;33:*.db=1;33:*.sh=1;32:*.py=1;33:*.pl=1;33:'
5. 简约方案 1 export LS_COLORS='di=34:ln=36:so=35:pi=33:ex=32:*.txt=37:*.sh=32:*.py=33:*.js=33:*.html=33:*.css=33:*.jpg=35:*.png=35:*.gif=35:*.mp4=35:*.mp3=36:'
🎯 提示 : 选择适合您工作类型的颜色方案,可以让文件管理更加高效。建议定期调整和优化您的颜色配置。
通过本指南,您应该能够创建出既美观又实用的终端颜色方案。记得根据实际使用情况调整颜色代码,找到最适合自己的配置。