MENU

Linux修改文件/文件夹显示的颜色

December 22, 2025 • Linux

为什么 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 包是绿色,想改成别的颜色(比如红色或黄色)

可以自己自定义颜色。

  1. 简单方法(只改 zip):
    /root/.bashrc 末尾加一行(覆盖默认):

    # 把 .zip 改成红色(31 是红色)
    export LS_COLORS="$LS_COLORS:*.zip=01;31"

    然后:

    source /root/.bashrc
  2. 更彻底的方法(自定义整个颜色方案):

    # 生成当前 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:普通颜色