Что вызывает этот зеленый фон в ls-выходе?
Есть два каталога, показанные ‘ls’. Обычно каталоги везде синего цвета на черном фоне. Но первый — синий, зеленый и невозможно читать. Почему это? Как сделать его синим на черном или, по крайней мере, что-то светить на что-то темное?
Это на Ubuntu 12.04, используя bash в терминале Gnome. В Konsole синий цвет немного темнее, и его можно читать, хотя может быть и лучше.
7 ответов
Помимо цветных файлов, основанных на их типе (бирюза для аудиофайлов, ярко-красная для архивов и сжатых файлов и фиолетовая для изображений и видео), ls также окрашивает файлы и каталоги на основе их атрибутов
- Черный текст с зеленым фоном указывает, что каталог доступен для записи другими пользователями, кроме владеющего пользователя и группы, и имеет набор липких бит ( o+w, +t ).
- Синий текст с зеленым фоном указывает, что каталог доступен для записи другими пользователями, кроме владельца и группы, и имеет not набор липких бит ( o+w, -t ).
Стефано Палаццо на Спросите Ubuntu сделал эту очень поучительную картину по различным цветам атрибутов:
Как terdon , настройки цвета можно изменить с помощью dircolors . Доступ к списку различных настроек раскраски можно получить с помощью dircolors —print-database .
Каждая строка вывода, например BLK 40;33;01 , имеет следующий вид:
TARGET указывает цель для правила раскраски
TEXT_STYLE указывает стиль текста:
- 00 = none
- 01 = bold
- 04 = underscore
- 05 = blink
- 07 = reverse,
- 08 = скрытый
FOREGROUND_COLOR указывает цвет переднего плана:
- 30 = черный
- 31 = красный
- 32 = зеленый
- 33 = желтый
- 34 = синий,
- 35 = magenta li>
- 36 = cyan
- 37 = белый
BACKGROUND_COLOR указывает цвета фона:
- 40 = черный
- 41 = красный
- 42 = зеленый
- 43 = желтый
- 44 = синий,
- 45 = magenta li>
- 46 = cyan
- 47 = белый
Поля могут быть опущены с правой стороны, поэтому, например, .tar 01;31 означает жирный и красный.
XTerm и большинство других современных эмуляторов терминала поддерживают 256 цветов.
Цветовой код цвета переднего плана XTerm 256 цветов имеет следующий вид:
Цветовой код цветного цвета XTerm 256 цветов имеет вид:
, где оба FOREGROUND_COLOR и BACKGROUND_COLOR — это номер диапазона 0-255. Полный список цветовых кодов для 16 и 256 цветовых режимов показан на следующем скриншоте:
Цвета ls могут представлять разрешения, значения по умолчанию для некоторых систем — показывать каталоги, где у всех есть права на запись с зеленым фоном:
>
Вы можете изменить цвета, отредактировав переменную $ LS_COLORS , используя dircolors (из man ls ):
Синтаксис, по-видимому, вызывает раздражение здесь, но вы можете изменить этот цвет, создав файл с желаемыми цветами и сохраняя его как
Эта команда будет печатать значения по умолчанию в
/.dircolors . Затем вам нужно будет отредактировать этот файл и изменить эту строку:
Например, чтобы сделать его черным текстом на красном фоне (см. здесь для списка цветовые коды):
Вам не нужно иметь все значения по умолчанию, вы также можете просто создать файл с одной строкой, переопределив только тот, который хотите изменить. В любом случае, как только вы создали файл, загрузите его с помощью:
И здесь он находится в действии:
Чтобы это произошло автоматически, добавьте команду man ls выше в ваш файл Using color to distinguish file types is disabled both by default and with —color=never. With —color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. .
У меня был тот же вопрос, ответ тердона хорош, но я думаю, что есть путаница между dirname и dircolors
В любом случае, после некоторых дальнейших исследований я мог бы изменить цвета, поэтому я делюсь своим решением здесь. Это может быть полезно для кого-то в один прекрасный день!
Итак, 3 простых шага:
Сначала, как сказал тердон, скопируйте цвета по умолчанию в файл
Затем измените этот файл. Вы можете найти некоторые значения для цветов внутри, но я нашел более здесь 🙂
И, наконец, добавьте следующую строку в ваш файл
/.bashrc для цветов, которые будут автоматически загружаться при открытии терминала:
В то время как все технические ответы верны, я бы счел это немного неофициальным предупреждением, что вы немного распустили права на щедро или копируете criss + cross . (чаще всего мы все делаем, чтобы получить вещи изначально рабочий, а?)
Как сделать его синим на черном, .
Хорошая â € žde-greenerâ € œ, чтобы вернуться к правам, которые вы, скорее всего, хотите, — это утверждение:
Лучше всего понять, что он делает, если вы понимаете цель прописных букв + X «особый казнь», т. е. см. Wikipedia
Это действительно полезно при использовании с ‘+’ и обычно в сочетании с опцией -R для предоставления группы или другой доступ к большому дереву каталогов без установки выполнения разрешение на обычные файлы (например, текстовые файлы), которые обычно если вы только что использовали «chmod -R a + rx .
Источник
Что означают разные цвета в лс?
Что ls означают разные цвета в команде Ubuntu ? Например, когда я набираю ls команду в одной из моих папок, я получаю один из файлов светло-зеленого цвета, а другой (который является папкой) — синего цвета с зеленой подсветкой.
Что означают эти цвета, и есть ли руководство по всем цветам?
- Синий : каталог
- Зеленый : исполняемый или распознанный файл данных
- Небесно-голубой : Символическая ссылка
- Желтый с черным фоном : устройство
- Розовый : файл графического изображения
- Красный : архивный файл
- Красный с черным фоном : Неработающая ссылка
Довожу до вашего сведения:
Чтобы выключить цвет, вы должны закомментировать следующие строки в .bashrc .
Также, если вы хотите увидеть свои собственные значения цвета bash, скопируйте / вставьте следующие коды в свой терминал.
Выход:
Примечание:
- Для получения дополнительной информации введите man dir_colors в терминале.
Вы можете узнать, какие цвета 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, рз.
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 , но ее форматирование довольно нечитаемо.
Вот техническое объяснение того, что происходит:
Цветовой код состоит из трех частей:
Первая часть перед точкой с запятой представляет стиль текста.
- 00 = нет, 01 = жирный, 04 = подчеркивание, 05 = мигание, 07 = обратный, 08 = скрытый.
Вторая и третья часть — это цвет и цвет фона:
- 30 = черный, 31 = красный, 32 = зеленый, 33 = желтый, 34 = синий, 35 = пурпурный, 36 = голубой, 37 = белый.
Каждая часть может быть опущена, при условии, что начинается слева. то есть «01» означает жирный, «01; 31» означает жирный и красный. И вы бы заставили свой терминал печатать в цвете, выполнив инструкцию \33[ и завершив ее символом m . 33 или 1B в шестнадцатеричном формате, это знак ASCII «ESCAPE» (специальный символ в наборе символов ASCII). Пример:
Печать «Hello World» ярко-красным.
Команда ls с аргументом —color=auto (в Ubuntu ls это псевдоним для 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 файл, он станет постоянным.
С настройкой по умолчанию
- Неокрашенный (белый) : текст файла или файла без имени (например, права на вывод ls -l )
- Жирный синий : каталог
- Жирный голубой : символическая ссылка
- Жирный зеленый : исполняемый файл
- Жирный красный : архив
- Жирный пурпурный : файл изображения, видео, графика и т. Д. Или дверь или розетка
- Cyan : аудиофайл
- Желтый с черным фоном : труба (AKA FIFO)
- Жирный желтый с черным фоном : блочное устройство или символьное устройство
- Жирный красный с черным фоном : сиротская ссылка или отсутствующий файл
- Неокрашен красным фоном : файл set-user-ID
- Черный с желтым фоном : файл set-group-ID
- Черный с красным фоном : файл с возможностью
- Белый с синим фоном : липкий каталог
- Синий с зеленым фоном : другой каталог для записи
- Черный с зеленым фоном : липкий и прочий для записи каталог
Скрипт для отображения цветов
Выход с настройкой по умолчанию:
Вывод с моей настройкой (пользовательские dircolors и пользовательская тема терминала Solarized):
Я получил описания от dircolors -p и man dir_colors и заполнил пробелы своими собственными исследованиями.
Цвета и описания одинаковы с 14.04 по 17.10.
Ни один из ответов здесь не включает 256 вариантов цвета в последних версиях Ubuntu. Я испытываю недостаток цвета (некоторые цвета создают мне проблемы рядом друг с другом), поэтому синий каталог по умолчанию на черном цвете мне очень трудно читать. Далее следует мое исследование, чтобы изменить это.
Введите, dircolors -p |less чтобы увидеть ваш текущий цветовой код.
Файл .bashrc по умолчанию уже должен быть настроен не только на использование системного кода цвета, но и кода в
/ .dircolors, поэтому выведите вывод dircolors в .dircolor, чтобы вы могли начать с него с помощью этой команды. dircolors -p >
Альтернатива: подобрать очень похожие 256 цветов в солнечном проекте Seebi .
Возьмите этот скрипт для проверки цвета и запустите его с помощью команды, colortest -w чтобы вы могли видеть все цвета одновременно. Выберите цвет. Мне нравится апельсин # 208. Я хочу, чтобы это был цвет текста, поэтому, используя эту информацию о расширенных цветовых кодах, я могу применить это.
Итак, у вас есть цвет, что теперь? Сначала мы должны создать строку.
Первым числом будет код атрибута, скорее всего 00, но если вы хотите, чтобы он мигал, перейдите с 05:
Выберите код атрибута: 00 = нет 01 = полужирный 04 = подчеркивание 05 = мигание 07 = обратный 08 = скрытый
Затем выберите добавление ;38;5; к этому коду атрибута, чтобы указать цвет текста, чтобы получить 00; 38; 5; а затем добавить свой цвет. Я выбрал 208, поэтому я получаю 00;38;5;208 .
Если вы хотите также наложить на него фон, выберите другой цвет (скажем, 56) с помощью скрипта colortest и добавьте ;48;5; для фона и 56 для цвета, чтобы получить общую строку 00;38;5;208;48;5;56 .
Так что теперь у вас есть, что вы делаете с этим?
/.dircolors и найдите раздел, который вы хотите изменить (для меня это DIR) на строку, которую мы определили выше «00; 38; 5; 208».
Это не будет применяться немедленно, вам нужно загрузить конфигурацию. Используйте dircolors
/.dircolors для получения кода, чтобы установить переменную LS_COLORS. Вы можете просто вставить это в сеанс терминала или закрыть свой терминал и снова открыть его. Вы также можете передать это в файл и запустить его как скрипт оболочки.
Вы можете сделать эту же процедуру с 16 цветами. Вам не нужны специальные; 38; 5 или; 48; 5 вещи. Просто бросьте цифры в строку и наслаждайтесь простотой.
Спасибо Дэну и Сиби за их заметки и код по этому вопросу.
Источник
Что означают разные цвета в ls?
Что означают разные цвета в команде Ubuntu ls ? Например, когда я набираю команду ls в одной из моих папок, я получаю один из файлов в светло-зеленый, другой (который является папкой) синим цветом с зеленой подсветкой.
Что означают эти цвета, и есть ли руководство по всем цветам?
5 ответов
- Синий : Каталог
- Зеленый : исполняемый или распознанный файл данных
- Sky Blue : символический файл ссылки
- Желтый с черным фоном : устройство
- Розовый : графический файл изображения
- Красный : Архивный файл
- Красный с черным фоном : Неработающая ссылка
Чтобы отключить цвет, вы должны прокомментировать следующие строки в .bashrc .
Также, если вы хотите увидеть свои собственные значения цвета bash, скопируйте /вставьте следующие коды в свой терминал.
Вывод:
Примечание:
- Для получения дополнительной информации введите man dir_colors в терминале.
Вы можете узнать, какие цвета 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, zoo, 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 , но его форматирование довольно нечитабельно.
Вот техническое объяснение того, что происходит:
Цветовой код состоит из трех частей:
Первая часть перед точкой с запятой представляет текстовый стиль.
- 00 = нет, 01 = жирный, 04 = подчеркивание, 05 = мигание, 07 = обратное, 08 = скрыто.
Вторая и третья части — цвет и цвет фона:
- 30 = черный, 31 = красный, 32 = зеленый, 33 = желтый, 34 = синий, 35 = пурпурный, 36 = голубой, 37 = белый.
Каждая часть может быть опущена, предполагая, что она начинается слева. то есть «01» означает жирный шрифт, «01; 31» означает жирный и красный. И вы получили бы ваш терминал для печати в цвете, выполнив команду с помощью \ 33 [ и закончив ее с помощью m ). 33 или 1B в шестнадцатеричном виде, это знак ASCII «ESCAPE» (специальный символ в наборе символов ASCII). Пример:
Печатает «Hello World» ярко-красным цветом.
Команда ls с аргументом — color = auto (на Ubuntu, ls ) является псевдонимом для ls — color = auto ) проходит через все имена файлов и сначала пытается сопоставить разные типы, такие как Executable, Pipe и т. д. Затем он пытается сопоставить регулярные выражения, такие как * .wav, и печатает полученное имя файла, заключенное в эти команды изменения цвета для bash.
Если вы наберете dircolors ( echo $ LS_COLORS ) из командной строки вы получите список кодов и цветов для множества типов файлов в 1 строке. dircolors —print-database показывает их по 1 строке за раз. Вот краткий список (я пытался поставить самые важные). Внизу есть объяснение того, что представляют собой разные коды в конце каждой строки:
- Коды атрибутов: 00 = нет 01 = bold 04 = underscore 05 = blink 07 = обратный 08 = скрытый
- Текстовые цветовые коды: 30 = черный 31 = красный 32 = зеленый 33 = желтый 34 = синий 35 = пурпурный 36 = голубой 37 = белый
- Цветовые коды фона: 40 = черный 41 = красный 42 = зеленый 43 = желтый 44 = синий 45 = пурпурный 46 = голубой 47 = белый
Если вы хотите поиграть с этим, вот пример того, как установить цвет для файла:
Это установит *. ogg и .mp3 в полужирный пурпурный . И если вы поместите его в свой .bashrc файл, он станет постоянным.
Ни один из ответов здесь не включает 256 опций цвета в последних версиях Ubuntu. Я цвет недостаточный (некоторые цвета дают мне проблемы рядом друг с другом), поэтому по умолчанию синий каталог на черном мне очень трудно читать. Ниже следует мое исследование, чтобы изменить это.
Введите dircolors -p | less , чтобы увидеть текущий код цвета.
По умолчанию .bashrc уже должен быть настроен не только для использования цветового кода системы, но и для одного в
/.dircolors, поэтому выгружайте вывод dircolors в .dircolor, чтобы вы могли начать с этого с помощью этой команды. dircolors -p>
Альтернатива: забрать очень похожие цветные цветные чернила из seebi’s соляризованный .
Возьмите этот скрипт colortest и запустите его с помощью команды 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 .
Итак, теперь у вас это есть, что вы с ним сделаете?
/.dircolors и найдите раздел, который вы хотите изменить (для меня это DIR), в строку, определенную выше «00; 38; 5; 208».
Это не будет действовать немедленно, вам нужно будет загрузить конфигурацию. Используйте dircolors
/.dircolors для кода get, чтобы установить переменную LS_COLORS. Вы можете просто вставить его в сеанс терминала или закрыть терминал и снова открыть его. Вы также можете передать это в файл и запустить его как скрипт оболочки.
Вы можете выполнить эту же процедуру с 16 цветами. Вам не нужны специальные вещи: 38; 5 или 48; 5. Просто бросьте числа в строку и наслаждайтесь простотой.
Благодаря Dan и seebi для своих заметок и кода на этом.
При настройке по умолчанию
- Некорированный (белый) : файл или текст без имени файла (например, разрешения на выходе ls -l )
- Жирный синий : каталог
- Жирный голубой : символическая ссылка
- Жирный зеленый : исполняемый файл
- Полужирный красный : архивный файл
- Жирный пурпурный : файл изображения, видео, графический файл и т. д. или дверь или .
- Голубой : аудиофайл
- Желтый с черным фоном : труба (AKA FIFO)
- Полужирный желтый с черным фоном : устройство-блок или .
- Полужирный красный с черным фоном : сиротская символьная ссылка или отсутствующий файл
- Некорированный с красным фоном : файл с идентификатором пользователя
- Черный с желтым фоном : файл с идентификатором группы
- Черный с красным фоном : файл с возможностью
- Белый с синим фоном : липкий каталог
- Синий с зеленым фоном : каталог с возможностью записи
- Черный с зеленым фоном : липкий и другой доступный каталог
Скрипт для отображения цветов
Выход с настройкой по умолчанию:
Выход с моей настройкой (пользовательские dircolors и пользовательская тема Solarized terminal):
Я получил описания из dircolors -p и man dir_colors и заполнил пробелы своими исследованиями.
Цвета и описания одинаковы с 14.04 по 17.10.
Источник