Что ls
означают разные цвета в команде Ubuntu ? Например, когда я набираю ls
команду в одной из моих папок, я получаю один из файлов светло-зеленого цвета, а другой (который является папкой) - синего цвета с зеленой подсветкой.
Что означают эти цвета, и есть ли руководство по всем цветам?
command-line
colors
ls
Рафид
источник
источник
eval
скрипт, показывающий представление выходного цвета для каждого типа, великолепен ... спасибо!eval
скрипта находится здесь: github.com/gkotian/gautam_linux/blob/master/scripts/colours.shВы можете узнать, какие цвета
ls
использует, посмотрев на$LS_COLORS
переменную:Кроме того, файлы раскрашены по атрибутам:
aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, зоопарк, cpio, 7z, рз.
JPG, JPEG, GIF, BMP, PBM, PGM, PPM, TGA, XBM, XPM, TIF, TIFF, PNG, SVG, SVGZ, Mng, PCX, MOV, MPG, MPEG, M2V, MKV, ОГМ, MP4, M4V, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, тревожность, ogv, ogx.
Вся эта информация содержится в выходных данных
dircolors --print-database
, но ее форматирование довольно нечитаемо.Вот техническое объяснение того, что происходит:
Пример:
Цветовой код состоит из трех частей:
Первая часть перед точкой с запятой представляет стиль текста.
Вторая и третья часть - это цвет и цвет фона:
Каждая часть может быть опущена, при условии, что начинается слева. то есть «01» означает жирный, «01; 31» означает жирный и красный. И вы бы заставили свой терминал печатать в цвете, выполнив инструкцию
\33[
и завершив ее символомm
. 33 или 1B в шестнадцатеричном формате, это знак ASCII «ESCAPE» (специальный символ в наборе символов ASCII). Пример:Печать "Hello World" ярко-красным.
Команда
ls
с аргументом--color=auto
(в Ubuntuls
это псевдоним дляls --color=auto
) проходит по всем именам файлов и пытается сначала сопоставить разные типы, такие как Executable, Pipe и так далее. Затем он пытается сопоставить регулярные выражения, такие как * .wav, и печатает полученное имя файла, заключенное в эти инструкции по изменению цвета для bash.источник
Если вы наберете
dircolors
(echo $LS_COLORS
также работает) из командной строки, вы получите список кодов и цветов для большого количества типов файлов в 1 строке.dircolors --print-database
показывает им по 1 строке за раз. Вот краткий список (я постарался указать самые важные). Внизу есть объяснение того, что представляют собой разные коды в конце каждой строки:00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
Если вы хотите поэкспериментировать с этим, вот пример того, как установить цвет для файла:
Это позволит установить
*.ogg
и.mp3
вbold magenta
. И если вы положите его в свой.bashrc
файл, он станет постоянным.источник
pdf
файла, процесс должен использоватьexport
? Можно ли просто добавить одно расширение вLS_COLORS
переменную по умолчанию ?Это расширяет ответ Karthick87 .
С настройкой по умолчанию
ls -l
)Скрипт для отображения цветов
Выход с настройкой по умолчанию:
Вывод с моей настройкой (пользовательские dircolors и пользовательская тема терминала Solarized):
Я получил описания от
dircolors -p
иman dir_colors
и заполнил пробелы своими собственными исследованиями.Цвета и описания одинаковы с 14.04 по 17.10.
источник
rs
средствахRESET
,mh
средствахMULTIHARDLINK
,ca
средствах иCAPABILITY
т. Д.?dircolors -p
.dircolors -p
не говорит, что rs - это СБРОС 0 # сброса на «нормальный» цвет .Ни один из ответов здесь не включает 256 вариантов цвета в последних версиях Ubuntu. Я испытываю недостаток цвета (некоторые цвета создают мне проблемы рядом друг с другом), поэтому синий каталог по умолчанию на черном цвете мне очень трудно читать. Далее следует мое исследование, чтобы изменить это.
Введите,
dircolors -p |less
чтобы увидеть ваш текущий цветовой код.Файл .bashrc по умолчанию уже должен быть настроен не только на использование системного кода цвета, но и кода в ~ / .dircolors, поэтому выведите вывод dircolors в .dircolor, чтобы вы могли начать с него с помощью этой команды.
dircolors -p > ~/.dircolors
Альтернатива: подобрать очень похожие 256 цветов в солнечном проекте Seebi .
Возьмите этот скрипт для проверки цвета и запустите его с помощью команды,
colortest -w
чтобы вы могли видеть все цвета одновременно. Выберите цвет. Мне нравится апельсин # 208. Я хочу, чтобы это был цвет текста, поэтому, используя эту информацию о расширенных цветовых кодах, я могу применить это.Итак, у вас есть цвет, что теперь? Сначала мы должны создать строку.
Первым числом будет код атрибута, скорее всего 00, но если вы хотите, чтобы он мигал, перейдите с 05:
Затем выберите добавление
;38;5;
к этому коду атрибута, чтобы указать цвет текста, чтобы получить 00; 38; 5; а затем добавить свой цвет. Я выбрал 208, поэтому я получаю00;38;5;208
.Если вы хотите также наложить на него фон, выберите другой цвет (скажем, 56) с помощью скрипта colortest и добавьте
;48;5;
для фона и 56 для цвета, чтобы получить общую строку00;38;5;208;48;5;56
.Так что теперь у вас есть, что вы делаете с этим?
vim ~/.dircolors
и найдите раздел, который вы хотите изменить (для меня это DIR) на строку, которую мы определили выше "00; 38; 5; 208".Это не будет применяться немедленно, вам нужно загрузить конфигурацию. Используйте
dircolors ~/.dircolors
для получения кода, чтобы установить переменную LS_COLORS. Вы можете просто вставить это в сеанс терминала или закрыть свой терминал и снова открыть его. Вы также можете передать это в файл и запустить его как скрипт оболочки.Вы можете сделать эту же процедуру с 16 цветами. Вам не нужны специальные; 38; 5 или; 48; 5 вещи. Просто бросьте цифры в строку и наслаждайтесь простотой.
Спасибо Дэну и Сиби за их заметки и код по этому вопросу.
источник