根据文件扩展名对 ls 的输出进行着色

根据文件扩展名对 ls 的输出进行着色

我正在处理一些 C++ 文件,它们都在一个文件夹中。

当我ls这样做时,.cpp 和 .h 文件都显示相同的颜色。

有没有办法告诉 bash shell 我想用.cpp粉红色显示文件,.h用金棕色显示文件?

答案1

如果你正在使用 GNU coreutils(如果你在 Linux 上,则很有可能),你正在寻找dir_colors公用事业。

如果您的发行版已设置好一切,以便您可以ls为某些文件类型获得不同的颜色,那么您只需要复制/etc/DIR_COLORS到您的~/.dir_colors,进行所需的更改,然后启动一个新的 shell 来查看效果。

如果没有,请按照上述方法将文件复制到您的主目录。然后您需要:

  • 将其放在你的 shellrc文件中的某个位置:

    eval `dircolors ~/.dir_colors`
    
  • 别名(也将其放入您的文件lsls --color=autorc

您也可以通过以下方式在 Mac OS X 上获取核心工具麦克波特。适用于 Mac OS X 的更好的 ls对此有一些细节(请注意该with_default_names选项,确保您在使用它之前了解使用它的含义)。

对于 FreeBSD(不知道这是否适用于其他 BSD 变体),选项ls-G,并查看ls(1)手册页描述克利科洛斯环境变量以获取更多信息。

相关内容