Linux – Colors in bash after piping through less

bashlesslinuxlsshell

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?

Best Answer

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, which causes it to output the raw control characters.