Имя файла с красным письмом и черным фоном со стрелкой, указывающей на другой файл, знает ли кто-нибудь, что это значит? [dубликат]

Эта ошибка рассматривается в https://bugs.launchpad.net/awn-extras/+bug/871253. Некоторые пользователи указывают, что установка версий индикаторов GTK2 (индикатор-сессия-gtk2, индикатор-звук-gtk2 ...) делает видимыми хотя бы некоторые из индикаторов.

301
задан 16 February 2017 в 10:42

8 ответов

Ни один из ответов здесь не содержит 256 вариантов цвета в последних версиях Ubuntu. Я цвет недостаточный (некоторые цвета дают мне проблемы рядом друг с другом), поэтому по умолчанию синий каталог на черном мне очень трудно читать. Ниже приводится мое исследование, чтобы изменить это.

Введите dircolors -p |less, чтобы увидеть текущий код цвета.

Значение по умолчанию .bashrc должно быть настроено не только для использования цветового кода системы, но и для одного в ~ / .dircolors, поэтому выгружайте вывод dircolors в .dircolor, чтобы вы могли начать с этого с помощью этого команда. dircolors -p > ~/.dircolors

Альтернатива: возьмите очень похожие 256 цветовых гранул из соляризованного проекта seebi.

Возьмите этот соляризированный seebi и запустите его с помощью команды colortest -w, чтобы сразу увидеть все цвета. Выберите цвет. Мне нравится оранжевый # 208. Я хочу, чтобы это был цвет текста, поэтому, используя эту информацию о расширенных цветовых кодах, я могу применить это.

Итак, у вас есть цвет, теперь что. Сначала мы должны создать строку.

Первым номером будет код атрибута, скорее всего 00, но если вы хотите, чтобы он мигал, пойдите с 05:

Выберите код атрибута : 00 = нет 01 = жирный 04 = знак подчеркивания 05 = мигание 07 = обратный 08 = скрытый

Затем выберите append ;38;5; в этот код атрибута, чтобы указать цвет текста для получения 00; 38; 5; а затем добавьте свой цвет. Я выбрал 208, поэтому я получаю 00;38;5;208.

Если вы хотите также установить фон на него, выберите другой цвет (скажем, 56) с помощью скрипта colortest и append ;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. Просто бросьте цифры в строку и наслаждайтесь простотой.

Спасибо Dan и seebi за их заметки и код на этом.

14
ответ дан 18 July 2018 в 04:44

Вы можете узнать, какие цвета используются ls, посмотрев на переменную $LS_COLORS:

Бирюзовый: аудиофайлы1 Ярко-красный: Архивы и сжатые файлы2 Фиолетовый: изображения и видео3

Кроме того, файлы окрашиваются атрибутами:

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, rz. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.

Вся эта информация содержится в выводе dircolors --print-database, но ее форматирование довольно нечитабельно.

Вот техническое объяснение того, что происходит:

Пример:

CHR 40;33;01

Цветовой код состоит из трех частей:

Бирюза: аудиофайлы1 Вторая и третья части - цвет и цвет фона: 30 = черный, 31 = красный, 32 = зеленый, 33 = желтый, 34 = синий, 35 = пурпурный, 36 = голубой , 37 = белый.

Каждая часть может быть опущена, предполагая, что она начинается слева. то есть «01» означает жирный шрифт, «01; 31» означает жирный и красный. И вы получите свой принтер для печати в цвете, ускользая от команды с помощью \33[ и заканчивая его m. 33 или 1B в шестнадцатеричном виде, это знак ASCII «ESCAPE» (специальный символ в наборе символов ASCII). Пример:

"\33[1;31mHello World\33[m"

Печатает «Hello World» ярко-красным.

Команда ls с аргументом --color=auto (на Ubuntu, ls является псевдонимом для ls --color=auto) проходит через все имена файлов и сначала пытается сопоставить разные типы, такие как Executable, Pipe и т. д. Затем он пытается сопоставить регулярные выражения, такие как * .wav, и печатает полученное имя файла, заключенное в эти инструкции для изменения цвета для bash.

82
ответ дан 18 July 2018 в 04:44

Если вы наберете dircolors (также работает echo $LS_COLORS) из командной строки, вы получите список кодов и цветов для множества типов файлов в 1 строке. dircolors --print-database показывает их по 1 строке за раз. Вот краткий список (я пытался поставить самые важные). Внизу есть пояснение о том, что представляют собой разные коды в конце каждой строки:

NORMAL 00 # global default, although everything should be something. FILE 00 # normal file DIR 01;34 # directory LINK 01;36 # symbolic link. (If you set this to 'target' instead of a # numerical value, the color is as for the file pointed to.) FIFO 40;33 # pipe SOCK 01;35 # socket DOOR 01;35 # door BLK 40;33;01 # block device driver CHR 40;33;01 # character device driver ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file SETUID 37;41 # file that is setuid (u+s) SETGID 30;43 # file that is setgid (g+s) STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable # archives or compressed (bright red) .tar 01;31 .tgz 01;31 # image formats .jpg 01;35 .jpeg 01;35 .gif 01;35 .bmp 01;35 # audio formats .aac 00;36 .flac 00;36 .ogg 00;36 Коды атрибутов: 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

Если вы хотите поиграть с этим, вот пример того, как установить цвет для файла:

export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"

Это установит *.ogg и .mp3 на bold magenta. И если вы поместите его в свой файл .bashrc, он станет постоянным.

27
ответ дан 18 July 2018 в 04:44

Это расширяет ответ Karthick87.

С установкой по умолчанию

Uncolored (белый): файл или текст без имени файла (например, разрешения в вывод из ls -l) Полужирный синий: каталог Жирный голубой: символическая ссылка Жирный зеленый: исполняемый файл Жирный красный: файл архива Жирный пурпурный: файл изображения, видео, графический и т. д. или дверь или розетка Голубой: аудиофайл Желтый с черным фоном: (AKA FIFO) Жирный желтый с черным фоном: блок-устройство или символьное устройство Полужирный красный с черным фоном: сиротская символьная ссылка или отсутствующий файл Не окрашивается красным фоном: файл с идентификатором пользователя Черный с желтым фоном: файл группы set-black с красным фоном: файл с возможностью использования Белый с синим фоном: липкий каталог Синий с зеленым фоном: каталог с другими правами Черный цвет с зеленым фоном: липкий и другой доступный каталог

Сценарий для отображения цветов

#!/bin/bash # For LS_COLORS, print type and description in the relevant color. IFS=: for ls_color in $LS_COLORS; do color="${ls_color#*=}" type="${ls_color%=*}" # Add descriptions for named types. case "$type" in bd) type+=" (block device)" ;; ca) type+=" (file with capability)" ;; cd) type+=" (character device)" ;; di) type+=" (directory)" ;; do) type+=" (door)" ;; ex) type+=" (executable file)" ;; fi) type+=" (regular file)" ;; ln) type+=" (symbolic link)" ;; mh) type+=" (multi-hardlink)" ;; mi) type+=" (missing file)" ;; no) type+=" (normal non-filename text)" ;; or) type+=" (orphan symlink)" ;; ow) type+=" (other-writable directory)" ;; pi) type+=" (named pipe, AKA FIFO)" ;; rs) type+=" (reset to no color)" ;; sg) type+=" (set-group-ID)" ;; so) type+=" (socket)" ;; st) type+=" (sticky directory)" ;; su) type+=" (set-user-ID)" ;; tw) type+=" (sticky and other-writable directory)" ;; esac # Separate each color with a newline. if [[ $color_prev ]] && [[ $color != $color_prev ]]; then echo fi printf "\e[%sm%s\e[m " "$color" "$type" # For next loop color_prev="$color" done echo

Выход с настройкой по умолчанию:

Ответ Karthick87

Выход с моей настройкой (custom di rcolors и пользовательская тема Solarized terminal):

Я получил описания из dircolors -p и man dir_colors и заполнил пробелы своими исследованиями.

Цвета и описания одинаковы с 14.04 до 17.10.

10
ответ дан 18 July 2018 в 04:44

Ни один из ответов здесь не содержит 256 вариантов цвета в последних версиях Ubuntu. Я цвет недостаточный (некоторые цвета дают мне проблемы рядом друг с другом), поэтому по умолчанию синий каталог на черном мне очень трудно читать. Ниже приводится мое исследование, чтобы изменить это.

Введите dircolors -p |less, чтобы увидеть текущий код цвета.

Значение по умолчанию .bashrc должно быть настроено не только для использования цветового кода системы, но и для одного в ~ / .dircolors, поэтому выгружайте вывод dircolors в .dircolor, чтобы вы могли начать с этого с помощью этого команда. dircolors -p > ~/.dircolors

Альтернатива: возьмите очень похожие 256 цветовых гранул из соляризованного проекта seebi.

Возьмите этот соляризированный seebi и запустите его с помощью команды colortest -w, чтобы сразу увидеть все цвета. Выберите цвет. Мне нравится оранжевый # 208. Я хочу, чтобы это был цвет текста, поэтому, используя эту информацию о расширенных цветовых кодах, я могу применить это.

Итак, у вас есть цвет, теперь что. Сначала мы должны создать строку.

Первым номером будет код атрибута, скорее всего 00, но если вы хотите, чтобы он мигал, пойдите с 05:

Выберите код атрибута : 00 = нет 01 = жирный 04 = знак подчеркивания 05 = мигание 07 = обратный 08 = скрытый

Затем выберите append ;38;5; в этот код атрибута, чтобы указать цвет текста для получения 00; 38; 5; а затем добавьте свой цвет. Я выбрал 208, поэтому я получаю 00;38;5;208.

Если вы хотите также установить фон на него, выберите другой цвет (скажем, 56) с помощью скрипта colortest и append ;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. Просто бросьте цифры в строку и наслаждайтесь простотой.

Спасибо Dan и seebi за их заметки и код на этом.

14
ответ дан 24 July 2018 в 18:09

Вы можете узнать, какие цвета используются ls, посмотрев на переменную $LS_COLORS:

Бирюзовый: аудиофайлы1 Ярко-красный: Архивы и сжатые файлы2 Фиолетовый: изображения и видео3

Кроме того, файлы окрашиваются атрибутами:

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, rz. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.

Вся эта информация содержится в выводе dircolors --print-database, но ее форматирование довольно нечитабельно.

Вот техническое объяснение того, что происходит:

Пример:

CHR 40;33;01

Цветовой код состоит из трех частей:

Бирюза: аудиофайлы1 Вторая и третья части - цвет и цвет фона: 30 = черный, 31 = красный, 32 = зеленый, 33 = желтый, 34 = синий, 35 = пурпурный, 36 = голубой , 37 = белый.

Каждая часть может быть опущена, предполагая, что она начинается слева. то есть «01» означает жирный шрифт, «01; 31» означает жирный и красный. И вы получите свой принтер для печати в цвете, ускользая от команды с помощью \33[ и заканчивая его m. 33 или 1B в шестнадцатеричном виде, это знак ASCII «ESCAPE» (специальный символ в наборе символов ASCII). Пример:

"\33[1;31mHello World\33[m"

Печатает «Hello World» ярко-красным.

Команда ls с аргументом --color=auto (на Ubuntu, ls является псевдонимом для ls --color=auto) проходит через все имена файлов и сначала пытается сопоставить разные типы, такие как Executable, Pipe и т. д. Затем он пытается сопоставить регулярные выражения, такие как * .wav, и печатает полученное имя файла, заключенное в эти инструкции для изменения цвета для bash.

82
ответ дан 24 July 2018 в 18:09

Если вы наберете dircolors (также работает echo $LS_COLORS) из командной строки, вы получите список кодов и цветов для множества типов файлов в 1 строке. dircolors --print-database показывает их по 1 строке за раз. Вот краткий список (я пытался поставить самые важные). Внизу есть пояснение о том, что представляют собой разные коды в конце каждой строки:

NORMAL 00 # global default, although everything should be something. FILE 00 # normal file DIR 01;34 # directory LINK 01;36 # symbolic link. (If you set this to 'target' instead of a # numerical value, the color is as for the file pointed to.) FIFO 40;33 # pipe SOCK 01;35 # socket DOOR 01;35 # door BLK 40;33;01 # block device driver CHR 40;33;01 # character device driver ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file SETUID 37;41 # file that is setuid (u+s) SETGID 30;43 # file that is setgid (g+s) STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable # archives or compressed (bright red) .tar 01;31 .tgz 01;31 # image formats .jpg 01;35 .jpeg 01;35 .gif 01;35 .bmp 01;35 # audio formats .aac 00;36 .flac 00;36 .ogg 00;36 Коды атрибутов: 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

Если вы хотите поиграть с этим, вот пример того, как установить цвет для файла:

export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"

Это установит *.ogg и .mp3 на bold magenta. И если вы поместите его в свой файл .bashrc, он станет постоянным.

27
ответ дан 24 July 2018 в 18:09
  • 1
    Эй, может, кто-то еще придет с лучшим ответом. Кстати, вы получили меня более чем 15k с этим upvote;) – Rinzwind 14 September 2011 в 13:29
  • 2
    раскачать! Вы сами там ... Еще раз спасибо, я сделал / & quot; string & quot; для поиска некоторых цветов, которые я не знал о – user784637 14 September 2011 в 13:38
  • 3
    Этот (отличный) ответ был объединен , если вам интересно о датах. :-) – Stefano Palazzo♦ 14 September 2011 в 15:06
  • 4
    @Rinzwind, поэтому для установки цвета для файла pdf, этот процесс должен использовать export? Можно ли просто добавить одно расширение в переменную по умолчанию LS_COLORS? – Sigur 28 January 2016 в 22:14

Это расширяет ответ Karthick87.

С установкой по умолчанию

Uncolored (белый): файл или текст без имени файла (например, разрешения в вывод из ls -l) Полужирный синий: каталог Жирный голубой: символическая ссылка Жирный зеленый: исполняемый файл Жирный красный: файл архива Жирный пурпурный: файл изображения, видео, графический и т. д. или дверь или розетка Голубой: аудиофайл Желтый с черным фоном: (AKA FIFO) Жирный желтый с черным фоном: блок-устройство или символьное устройство Полужирный красный с черным фоном: сиротская символьная ссылка или отсутствующий файл Не окрашивается красным фоном: файл с идентификатором пользователя Черный с желтым фоном: файл группы set-black с красным фоном: файл с возможностью использования Белый с синим фоном: липкий каталог Синий с зеленым фоном: каталог с другими правами Черный цвет с зеленым фоном: липкий и другой доступный каталог

Сценарий для отображения цветов

#!/bin/bash # For LS_COLORS, print type and description in the relevant color. IFS=: for ls_color in $LS_COLORS; do color="${ls_color#*=}" type="${ls_color%=*}" # Add descriptions for named types. case "$type" in bd) type+=" (block device)" ;; ca) type+=" (file with capability)" ;; cd) type+=" (character device)" ;; di) type+=" (directory)" ;; do) type+=" (door)" ;; ex) type+=" (executable file)" ;; fi) type+=" (regular file)" ;; ln) type+=" (symbolic link)" ;; mh) type+=" (multi-hardlink)" ;; mi) type+=" (missing file)" ;; no) type+=" (normal non-filename text)" ;; or) type+=" (orphan symlink)" ;; ow) type+=" (other-writable directory)" ;; pi) type+=" (named pipe, AKA FIFO)" ;; rs) type+=" (reset to no color)" ;; sg) type+=" (set-group-ID)" ;; so) type+=" (socket)" ;; st) type+=" (sticky directory)" ;; su) type+=" (set-user-ID)" ;; tw) type+=" (sticky and other-writable directory)" ;; esac # Separate each color with a newline. if [[ $color_prev ]] && [[ $color != $color_prev ]]; then echo fi printf "\e[%sm%s\e[m " "$color" "$type" # For next loop color_prev="$color" done echo

Выход с настройкой по умолчанию:

Ответ Karthick87

Выход с моей настройкой (custom di rcolors и пользовательская тема Solarized terminal):

Я получил описания из dircolors -p и man dir_colors и заполнил пробелы своими исследованиями.

Цвета и описания одинаковы с 14.04 до 17.10.

10
ответ дан 24 July 2018 в 18:09
  • 1
    Этот скрипт eval, показывающий выходное представление цвета для каждого типа, является блестящим ... спасибо! – Russ 28 July 2011 в 03:00
  • 2
    Чистая еда;) – Homunculus Reticulli 4 August 2015 в 16:30
  • 3
    Более читаемая версия этого скрипта eval находится здесь: github.com/gkotian/gautam_linux/blob/master/scripts/colours.sh – Gautam 4 September 2016 в 20:41
  • 4
    Красный также является мертвой символической линией. – Thomas Ward♦ 6 May 2017 в 19:17
  • 5
    как насчет файлов в обычном белом тексте? – S.. 15 July 2017 в 11:42
  • 6
    Как вы знаете, rs означает RESET, mh означает MULTIHARDLINK, ca означает CAPABILITY и т. Д.? – Fredrick Gauss 4 October 2017 в 11:36
  • 7
    @FredrickGauss Как я писал в ответ, я получил описания от запуска dircolors -p. – wjandrea 4 October 2017 в 19:04
  • 8
    dircolors -p не говорит rs is RESET 0 # reset to "normal" цвет . – Fredrick Gauss 4 October 2017 в 19:38
  • 9
    @FredrickGauss Не явно, но & quot; СБРОС & quot; является единственной, которая может быть сокращена как «rs», и соответствует цвет (0). – wjandrea 4 October 2017 в 19:45
  • 10
    Я прошу об этом. Вы просто оцените, сделайте вывод. – Fredrick Gauss 4 October 2017 в 19:47

Другие вопросы по тегам:

Похожие вопросы: