为什么 zip 文件显示绿色?
在 Debian/Ubuntu 等系统的默认 LS_COLORS 配置中:
- 可执行文件(有 +x 权限的文件) → 绿色
- .zip、.tar.gz、.tar.bz2 等压缩包 → 也默认绿色
这是因为很多压缩包(尤其是 .zip)在 Linux 下可以直接用 unzip 命令执行(虽然不是二进制可执行,但被视为“可执行操作”的文件类型),所以被归类到和可执行文件相同的颜色。
具体来说,dircolors 默认的配置里有这一行:
*.zip=01;32 # 绿色粗体所以你看到的 绿色 其实是正确的,表示这是一个可压缩/解压的文件。
如何确认这是默认行为?
你可以运行下面命令查看当前 LS_COLORS 里对 zip 的定义:
echo $LS_COLORS | grep -o 'zip=[^:]*'通常会输出类似:
zip=01;32(01;32 就是粗体绿色)
如果你不喜欢 zip 包是绿色,想改成别的颜色(比如红色或黄色)
可以自己自定义颜色。
简单方法(只改 zip):
在/root/.bashrc末尾加一行(覆盖默认):# 把 .zip 改成红色(31 是红色) export LS_COLORS="$LS_COLORS:*.zip=01;31"然后:
source /root/.bashrc更彻底的方法(自定义整个颜色方案):
# 生成当前 dircolors 配置到文件 dircolors -p > ~/.dircolors然后编辑
~/.dircolors,找到*.zip那一行,改成你想要的颜色代码(比如01;33是黄色):*.zip 01;33保存后,在
.bashrc里改成:eval "$(dircolors -b ~/.dircolors)"再
source /root/.bashrc
第二种方法,使用vim编辑.dircolors文件的时候,搜索/zip后,如果将默认的01;31修改为01;34后可直观的看到字体颜色
常见颜色代码参考
- 01;31:粗体红色
- 01;32:粗体绿色(默认)
- 01;33:粗体黄色
- 01;34:粗体蓝色
- 00:普通颜色