Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am using 'zsh'. In some directory, when I do 'ls --color=tty'. I see some directories have 'blue text' with 'green background', which makes them hard to read.

Can you please tell me how to configure this?

Thank you.

share|improve this question
up vote 13 down vote accepted

Assuming you are using GNU ls, you can specify the colors with the environment variable LS_COLORS (note that this is a GNU ls feature and not specific to zsh).

GNU Coreutils has a program called dircolors to help you convert an easy to edit configuration file into a proper (complicated) LS_COLORS variable. See man dircolors for the command, and man dir_colors for the configuration file syntax.

You can

  1. use dircolors --print-database >! dircolors.default to save the defaults (it contains some explanation text) and then modify it.
  2. Google for fancy pre-configured dircolors files (such as this (I've got no relation to this)).

Once done, you'll need dircolors to turn that into a proper LS_COLORS. Note that dircolors outputs in bash and csh formats, for zsh you should use the bash-formatted output.

PS: Use ls --color=auto instead of ls --color=tty.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .