На моей консоли цвет каталогов такой синий, что его трудно прочитать на темном фоне.
Как я могу изменить определения цвета для ls
?
Чтобы изменить цвета каталога, откройте ~/.bashrc
файл в редакторе.
nano ~/.bashrc
и сделайте следующую запись в конце файла:
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
Некоторые хорошие варианты цвета (в данном случае 0;35
это фиолетовый):
Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30
Первое число - это стиль (1 = полужирный), затем точка с запятой, а затем фактическое число цвета, возможные стили (эффекты):
0 = default colour
1 = bold
4 = underlined
5 = flashing text (disabled on some terminals)
7 = reverse field (exchange foreground and background color)
8 = concealed (invisible)
Возможные фоны:
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
107 = white background
Все возможные цвета:
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
97 = white
Их даже можно объединить, чтобы такой параметр, как:
di=1;4;31;42
в вашей переменной LS_COLORS каталоги будут выделены жирным подчеркнутым красным текстом с зеленым фоном!
Чтобы проверить все эти цвета и стили в вашем терминале, вы можете использовать один из:
for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m \e[1;${i}mSubdermatoglyphic text\e[00m"
done
for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
done
done
Вы также можете изменить другие типы файлов при использовании команды ls, определив каждый вид с помощью:
bd = (BLOCK, BLK) Block device (buffered) special file
cd = (CHAR, CHR) Character device (unbuffered) special file
di = (DIR) Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK) Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING) Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN) Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE) Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE) Named pipe (fifo file)
sg = (SETGID) File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY) Directory with the sticky bit set (+t) and not other-writable
su = (SETUID) File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE) Directory that is sticky and other-writable (+t,o+w)
*.extension = Every file using this extension e.g. *.rpm = files with the ending .rpm
Более полный список доступен в Bigsoft - Настройка LS_COLORS .
В некоторых дистрибутивах вам также может потребоваться изменить цвет фона для ow
«( OTHER_WRITABLE
), который по умолчанию не читается», например, на не выделенный жирным синим текст на зеленом фоне.
Вы можете использовать, например, LS_COLORS="$LS_COLORS:di=1;33"
в конце вашего .bashrc
файла, чтобы получить хороший читаемый жирный оранжевый текст на черном фоне.
После того, как вы измените свой файл .bashrc, чтобы изменения вступили в силу, вам придется перезапустить вашу оболочку или запустить source ~/.bashrc
.
Примечание. Можно добавить несколько команд , например, через двоеточие.
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
Источник:
LS_COLORS=$LS_COLORS:'di=1;44:' ; export LS_COLORS
который показывает каталоги жирным белым цветом на синем фоне..bashrc
- некоторые цвета работают, другие выглядят по-другому. Папки, например, зеленые, а не синие, но файлы выглядят правильно. Что бы это могло быть?/etc/bash.bashrc
LS_COLORS=$LS_COLORS:'tw=01;35:ow=01;35:' ; export LS_COLORS
Очень простой. Добавьте эти три строки в ~ / .bashrc
Если вы хотите применить изменения в запущенном сеансе bash, запустите:
источник
source ~/.bashrc
каждый раз, когда я вхожу. Есть ли способ это исправить?echo $SHELL
строки? Бьюсь об заклад, это не так/bin/bash
. Вы можете найти свой активный.profile
или.login
и добавитьsource $HOME/.bashrc
в конце. Удачи.LS_COLORS
Это коллекция расширений: цветовые сопоставления, подходящие для использования в качестве переменной среды LS COLORS.
источник
В дополнение к ответу Hegazi, вы можете управлять цветом каталога и многими другими цветами, используя команду dircolors. Вы можете создать файл конфигурации, который хорошо документирован.
Вы можете создать файл .dircolor в вашем домашнем каталоге следующим образом:
Затем в вашем файле ~ / .bashrc добавьте строки
Это создаст переменную $ LS_COLORS для bash. Флаг -c будет установлен, если для csh. Он также помечает команду ls для отображения в цвете.
Отредактируйте значение атрибута DIR, как указано выше, в цвете файла ~ / .dircolor, чтобы изменить цвет каталога (или любого другого включенного типа файла для других цветов). Вы также можете изменить цвета определенных файлов или определить свои собственные.
источник
--color=auto
Опция не работает для меня , используя iTerm2 на моем Mac.-G
Вариант работает , хотя. Я поместил следующий псевдоним в мои,~/.profile
и теперь каталоги окрашены и имеют/
добавленный конец:источник
Это мой подход к команде ls с часто используемыми параметрами:
добавьте следующие строки в файл с именем ~ / .alias
добавьте следующие строки в ~ / .bashrc
источник
--color=auto
кls
псевдониму - другие псевдонимы с наследованием настройки