我如何让 dir 像 ls 一样为文件/目录显示颜色?

我如何让 dir 像 ls 一样为文件/目录显示颜色?

我正在运行 Ubuntu 18.04,并且我习惯于输入 dir 而不是 ls。当我使用 ls 时,我会得到以不同颜色列出的目录内容,这是意料之中的,但是,当我输入 dir 时,我得到的是相同的内容,但没有颜色。我试图让 dir 使用 ls 使用的颜色,或者以任何可能的方式模拟它本身。这些尝试均未成功:

  • 目录颜色
  • 在我的 .bashrc 中将 dir 别名为 ls
  • 尝试找到 dir 命令/别名所在的位置(我没有找到它,也没有在谷歌上搜索它的位置)
  • 在我的 .bashrc 中放入“dir --color=always”和“dir --color=auto”,它工作一次,但后续调用不起作用

答案1

您可以dir --color通过将以下行添加到.bashrc

alias dir="dir --color"

添加dir --color=always不会创建别名,但会在您启动新的登录 shell 时运行该命令。

修改文件后,你还需要重新启动终端.bashrc,或者你可以运行

source ~/.bashrc

注意:dir --color=always和是等效的。省略时,参数dir --color的默认值为。coloralways

答案2

您好,欢迎来到 Ask Ubuntu!

man dir指着:

--color[=WHEN]
              colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below

--color因此,正如您正确思考的那样,您正在寻找标志。

事实上,你不应该把命令 dir --color.bashrc你应该创建一个新的别名:

alias dir='dir --color'

此外,在我的系统上,dir颜色与完全相同ls

答案3

为了启用 ls 的颜色支持并添加处理其他别名,您可以添加手动作为默认颜色。

if [ -x /usr/bin/dircolors ]; then

    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'

fi

希望这可以帮助。

相关内容