Что означает имя файла красного цвета?

Вопрос или проблема

Я исследовал файлы в bash, и в /etc/ssl/certs большинство имен файлов светло-голубые. Однако есть одно красное имя файла, и я не могу понять, почему оно красное.

Большинство файлов в этом каталоге — это файлы .pem. Красный файл также является файлом .pem. Он называется что-то вроде China_Internet_Network_Information_Center...pem

Согласно этому вопросу на stack exchange, светло-голубые имена файлов означают связанные файлы, в то время как красные имена файлов означают “архивные” файлы. Что это значит? Смотрев на каталог с ls -all, я все равно не могу понять, почему имя файла красное. Может кто-то объяснить, почему оно красное?

Сначала вам нужно знать цветовой код VT100

https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

Я не знаю, каков ваш текст на самом деле, но “красный текст” — это 31.

Далее вам нужно посмотреть на команду dircolors и найти все, что имеет 31. В моем случае это было бы:

or=40;31;01
*.tar=01;31
*.tgz=01;31
*.arj=01;31
*.taz=01;31
*.lzh=01;31
*.lzma=01;31
*.tlz=01;31
*.txz=01;31
*.zip=01;31
*.z=01;31
*.Z=01;31
*.dz=01;31
*.gz=01;31
*.lz=01;31
*.xz=01;31
*.bz2=01;31
*.bz=01;31
*.tbz=01;31
*.tbz2=01;31
*.tz=01;31
*.deb=01;31
*.rpm=01;31
*.jar=01;31
*.rar=01;31
*.ace=01;31
*.zoo=01;31
*.cpio=01;31
*.7z=01;31
*.rz=01;31

Затем вы можете перейти сюда

http://www.bigsoft.co.uk/blog/index.php/2008/04/11/configuring-ls_colors

где вам говорят

  • or — это “сирота”, символическая ссылка без цели
  • остальные — это шаблоны файлов, которые соответствуют различным архивам и схемам сжатия

.pem не появляется в моем списке, и файлы .pem не окрашиваются в моей системе, так что я не могу помочь вам дальше. Но я бы предположил “сирота”.

Большинство дистрибутивов Linux по умолчанию обычно используют цветовое кодирование файлов, чтобы вы могли сразу распознать, к какому типу они принадлежат. Вы правы, что красный означает архивный файл, и .pem является архивным файлом. Архивный файл — это просто файл, состоящий из других файлов. Примеры, с которыми вам может быть более знакомо, могут включать файлы .zip, .rar или .tar.

Если вы хотите узнать больше о файлах .pem, этот пост содержит хорошее объяснение

Развивая ответ hymie, цвета, которые использует ls, определяются переменной $LS_COLORS (к которой можно получить доступ с помощью команды dircolors).

Вы можете увидеть цвета, которые ассоциируются с разными файлами, запустив следующее — это выведет в цвете, который использует ls для каждого расширения!

dircolors | tr ':' '\n' | awk -F= '{print "\033[" $2 "m" $1 "\033[0m"}'

Если вы просто хотите цветовой код, отформатированный красиво, уберите часть awk из этой команды.

правка: оказывается, вы можете просто выполнить dircolors --print-ls-colors… надеюсь, способ с awk поможет кому-то, если их dircolors устарел и не поддерживает это. Он также работает, когда вы используете ECHO $LS_COLORS вместо dircolors в начале.

Ответ или решение

Файлы в операционных системах Linux и Unix зачастую имеют разные цвета, что помогает пользователям быстро идентифицировать типы файлов и их характеристики. Когда вы увидите красное название файла, это может означать несколько вещей, и, как правило, оно связано с настройками цветового отображения файлов в командной строке.

Значение красного цвета файла

  1. Код цвета: Красный цвет, который вы наблюдаете, обычно обозначается кодом ANSI 31. Этот цвет используется для различных типов файлов, включая архивные и сжатые. Это связано с предустановленными значениями в переменной окружения $LS_COLORS, которую можно управлять с помощью команды dircolors. В стандартной конфигурации:

    • Файлы .tar, .zip, .gz и другие архивы отображаются красным цветом.
  2. Архивные файлы: Архивный файл — это файл, который содержит один или несколько файлов, упакованных вместе для удобства хранения или передачи. Файлы формата .pem (Portable Easy Markup) по своей сути не являются архивами, но могут быть интерпретированы как таковые в некоторых системах из-за конфигураций. .pem файлы часто используются в криптографии, что также может повлиять на их отображение.

  3. Символические ссылки и "сироты": Ваша ситуация также может быть связана с тем, что файл является "сиротой" (orphan) — символической ссылкой на файл, который отсутствует или не доступен. Такие ссылки также могут выделяться красным цветом. Чтобы проверить, является ли ваш файл сиротой, можно использовать команду ls -l, которая покажет, на что ссылается эта ссылка, и если целевой файл отсутствует, это может объяснить красный цвет.

Как проверить настройки цветов

Если вы хотите узнать, почему конкретный файл отображается красным, вы можете выполнить следующие шаги:

  1. Проверьте текущие настройки цветов:

    dircolors --print-ls-colors
  2. Посмотрите, какие файлы соответствуют красному цвету: Включите все настройки с dircolors и спросите, какие типы файлов выделяются цветом 31.

  3. Поиск файлов с похожим расширением: Используйте команду ls -all, чтобы узнать, есть ли у других файлов в этом каталоге схожие характеристики (например, статус символьной ссылки), чтобы понять, что может вызвать изменение цвета.

Заключение

Исходя из предоставленных данных, если файл .pem отображается красным цветом, это может быть связано с тем, что он показан как архивный файл или является символической ссылкой без действительного назначения. Понимание кодов цвета и настройка переменной окружения $LS_COLORS являются важными шагами для более глубокого понимания отображения файлов в вашей системе.

Оцените материал
Добавить комментарий

Капча загружается...