Я преподаю введение в UNIX / Linux в местном колледже, и один из моих учеников задал следующий вопрос:
Почему некоторые файлы в моем каталоге окрашены в белый цвет, а другие - в серый? Белые - те, что я создал сегодня, а серые - существующие файлы?
Когда я изучил это, я сначала подумал, что ответ будет в LS_COLORS
переменной, но дальнейшее исследование показало, что цветовые списки были разными при использовании -l
переключателя и -al
переключателя с ls
командой. Смотрите следующие снимки экрана:
Использование ls -l
файла с именем «3» отображается белым цветом, но при использовании -al
переключателя тот же файл показывает серый цвет.
Это ошибка в ls или кто-нибудь знает, почему это происходит?
linux
command-line
ls
colors
Билл Р
источник
источник
ls
командой.LS_COLORS='rs=0;1' ls -l
, но это выглядит совсем иначе.ls
может изменить цвет его вывода.ls
могут обеспечить цвет. ;-)Ответы:
Похоже, что ваша prompt-string (
$PS1
) устанавливает атрибут bold для символов, чтобы цвета были лучше, а не сбрасывал их. Вывод изls
не знает об этом, и не выделено жирным шрифтом. Так что после первого вывода цветаls
все выглядит тусклее.источник
Весь вывод ls будет напечатан в последнем активном цвете. Если
ls
вызывается без цвета:распечатает список файлов красным цветом .
Или, если для ls не требуется изменение цвета, последний цвет останется:
Все-таки все в красном.
Но, как только
ls
потребуется установить цвет (а затем сбросить цвета до значения по умолчанию, используемого консолью), цвет, используемый с этого момента, будет по умолчанию для консоли.Первые три строки (до синей точки) напечатаны красным.
источник