在终端(或iTerm2)上更改可执行文件的颜色

7
我该如何更改设置,使得可执行文件与其他文件的颜色不再不同?我使用的是 macOS Sierra (10.12.6)。在普通终端和其他终端中都是一样的:

Terminal executable files - color red

...或者在iTerm2中:

iTerm2 executable files - red color

看起来很令人沮丧。如果我写chmod -x [FILENAME],那么它会消失。但我不想改变文件是否可执行的状态,我想改变可执行文件的颜色。我希望我的文件看起来像这样(无论是否可执行):

Usual iTerm2 colors


你的 ls 命令可能被别名为 ls --color=auto。如果你将其设置为 ls --color=never,它就不会有彩色输出了。你也可以查看 LS_COLORS 环境变量和设置它的 dircolors 工具。 - Benjamin W.
4个回答

5
我尝试修改Anshuman的答案,以便帮助那些可能遇到相同问题的人们。他的答案指引了我正确的方向,但离问题的答案还有一定距离。因此,我将在此自己发布答案。 LSCOLORS 在你的环境中设置在~/.bash_profile(或者~/.zshrc-文件,如果您使用Zshell)。在这个页面上,您可以尝试一下不同的设置,看看哪个字母改变了哪种颜色。在您当前的LSCOLORS中,它将可执行文件的颜色设置为另一种颜色。以下是找到(和更改)该颜色的方法:
打开终端并输入:
echo $LSCOLORS

然后它将打印出您当前的设置,可能是以下内容:

Gxfxcxdxbxegedabagacad

如果你将其更改为以下内容(在这种情况下):
GxfxcxdxDxegedabagacad

然后它会改变可执行文件的颜色。这种变化最终体现为,它指向你个人资料中哪种颜色: colors in iTerm2

2

设置LSCOLORS环境变量 为ls创建一个别名,使其默认显示颜色 在您的~/.bash_profile中添加以下内容:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

别名 ls='ls -lGH' <----- 这会以列表格式显示,跟随符号链接进行着色


0

解决这个问题的另一种方法是完全覆盖“ls --color”。我最近用一个简单的awk脚本和名为“cf”的shell包装器解决了这个问题。

然后,您可以像这样创建ls别名:

别名 ls='_(){ /bin/ls -F -1 -A "$@"|cf|column;};_'

请参见屏幕截图并从GitHub获取它。
它还有一个deb安装程序


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接