如何用`ls`关闭颜色?

ico*_*ast 64 ls colors

ls,grep等输出颜色通常很好。但是当您不想要它时(例如在将结果传送到另一个命令的脚本中)是否有可以将其关闭的开关? 如果它不是默认设置,则将其ls -G打开(使用某些BSD 派生版本ls),但ls +G不会将其关闭。还有什么会吗?

slm*_*slm 91

ls现在大多数发行版中通常通过别名启用颜色输出。

$ alias ls
alias ls='ls --color=auto'
Run Code Online (Sandbox Code Playgroud)

您始终可以通过在别名前加上反斜杠来暂时禁用别名。

$ \ls
Run Code Online (Sandbox Code Playgroud)

执行上述操作将使仅此调用的别名短路。您可以随时使用它来禁用任何别名。

  • 当然,您也可以使用 `command ls`,但这样会更快一些。 (4认同)
  • 我喜欢 \ls (2认同)

200*_*ess 31

使用 GNU ls,您可以指定ls --color=never显式禁用颜色输出。(即使您有alias ls='ls --color=auto',当您运行时ls --color=never,它也会扩展为ls --color=auto --color=never,并且后面的选项优先。)


Sly*_*lyx 5

alias ls=ls
Run Code Online (Sandbox Code Playgroud)

或者

unalias ls
Run Code Online (Sandbox Code Playgroud)

这将永久禁用着色。

  • 当然,这有点像用猎枪打死苍蝇:您会丢失添加到“ls”别名中的所有其他选项,并且会在整个会话中丢失它们,而不仅仅是单个命令。 (3认同)