2014-01-05 3 views
4

ls Использование или многих других команд, мы можем получить красочные результаты, как это:Как сделать ls | менее красочный?

enter image description here

Но если эти результаты слишком долго и после того, как мы трубы эти результаты к less, цвет исчез.

Это результат ls -l | less:

enter image description here

  1. Почему цвет исчез.
  2. Как сделать результат ls | less цветным?
+0

Checkout ваш Bashrc. Вероятно, его добавили цвет. Вероятно, псевдоним ls – exussum

+0

'ls' по умолчанию используется для' ls --color = auto'. Попробуйте 'ls -l --color = always | less'. – lurker

ответ

5

От man page for ls:

Используя --color вариант без дополнительного аргумента КОГДА эквивалентно использованию --color=always.

С --color=auto цветовые коды выводятся, только если стандартный выход подключен к терминалу (tty).

Отметьте, что always по умолчанию.

От man page for less:

-r or --raw-control-chars

Причины "сырые" управляющие символы, которые будут отображаться.

Так в целом, вам нужно это:

ls -l --color | less -r 
+0

from doc: 'WHEN по умолчанию« всегда »...' поэтому указание этого бесполезно: 'ls --color | меньше -r' достаточно. – techno

+0

@techno: Это действительно так. Тем не менее, на многих дистрибутивах Linux 'ls' имеет псевдоним' ls --color = auto' ... –

+0

@OliCharlesworth, 'ls --color | less -r' будет работать, потому что '--color [= WHEN]' и если WHEN опущен, по умолчанию он 'always'. –