Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

When I have dircolors defined life is full of... color.

When I pipe ls through less to scroll around I lose the colors.

Any suggestions?

Thanks, -Mathew

share|improve this question
add comment

2 Answers

up vote 32 down vote accepted

Most likely your ls is aliased to ls --color=auto, which tells ls to only use colors when its output is a tty. If you do ls --color (which is morally equivalent to ls --color=always), that will force it to turn on colors.

You could also change your alias to do that, but I wouldn't really call that a good idea. Better to make a different alias with --color.

less needs -R, too.

share|improve this answer
add comment

Try less with the -R option like this:

command | less -R

This works for me in a one-liner like this:

ls -la | grep --color=always bash | less -r

And like this too:

ls --color | less -R

But you have to tweak the primary output (the output of ls in this case) a bit with the --color parameter.

share|improve this answer
    
Thanks, this also works for ack-grep. ack-grep my_string --color | less -R –  igniteflow Jan 30 at 14:25
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.