Как да промените цветовете на директории и файлове в командата ls
Ако сте стартирали LS
в Bash, ще забележите, че директориите и файловете, които виждате, са оцветени според техния тип. Можете да персонализирате собствената си цветова схема, за да избирате различни цветове на текста, фонови цветове и форматиране като удебелен и подчертан.
Как става това
Цветовата схема се съхранява в променливата LS_COLORS. За да видите текущата си цветова схема, можете да укажете на Bash да отпечата съдържанието на променливата:
echo $ LS_COLORS
Ще видите дълъг списък с типове файлове и кодови номера. Ние ще ви обясним как сами да създадете списък като този.
Преди да играете с това, препоръчваме да запишете текущото съдържание на променливата LS_COLORS в друга променлива. Това ще ви позволи бързо да възстановите настройките по подразбиране, без да излизате от обвивката и да се връщате обратно или да затваряте и отваряте отново прозореца на терминала. За да запазите текущото съдържание на променливата LS_COLORS в нова променлива с име ORIGINAL, изпълнете:
ORIGINAL = $ Кодът
По всяко време можете да изпълните следната команда, за да отмените промените си и да възстановите стандартните цветове:
Кодът = $ ORIGINAL
Промените ви винаги са временни, докато не редактирате даден файл, за да ги направите нови. Винаги можете да излезете и да се регистрирате отново или да затворите и да отворите отново прозореца на терминала, за да възстановите цветовете по подразбиране. Въпреки това, това го прави лесно с една бърза команда.
Как да настроите персонализирани цветове
Променливата LS_COLORS съдържа списък с типове файлове заедно със съответните цветни кодове. Списъкът по подразбиране е дълъг, защото определя различни цветове за няколко различни типа файлове.
Нека започнем основен пример, за да покажем как работи това. Да предположим, че искаме да променим цвета на директории от дебело-синьото до получерво червено. Можем да изпълним следната команда, за да го направим:
Кодът = "ди = 1; 31"
Най- ди = 1; 31
малко разказва LS
тези директории (ди
) са (=
) получер (1;
) червен (31
).
Това обаче е просто променлива LS_COLORS, която дефинира директории като един цвят и оставя всеки друг вид файл като цвят по подразбиране. Да речем, че искаме да направим файлове с разширение .desktop файл подчертан цвят, също. Можем да изпълним следната команда, за да го направим:
Кодът = "ди = 1: 31:. * Настолен = 4; 36"
Това разказва LS
тези директории (ди
) са (=
) получер (1;
) червен (31
) и (:
) всеки файл, завършващ с .desktop (*.работен плот
) е (=
) подчертани (4;
) циан (36
).
Това е процесът за съставяне на вашия списък с типове файлове и цветове. Посочете колкото искате във формата filetype = color, като разделяте всеки с двоеточие (:) знак.
За да съберете свой собствен списък, просто трябва да знаете списъка с цветови кодове и кодове на типове файлове. Това използва същите цифрови кодове на цветовете, които използвате, когато променяте цвета на вашата Bash подкана.
Ето списък на цветовите кодове за текста на преден план:
- Черно: 30
- Синьо: 34
- Циан: 36
- Зелено: 32
- Лилаво: 35
- Червено: 31
- Бяло: 37
- Жълто: 33
Например, тъй като жълтият текст е цветен код 33, бихте използвали ди = 33
да направите директории жълти.
Ето списъка с атрибутите за цвят на текста:
- Нормален текст: 0
- Bold или Light Text: 1 (зависи от емулатора на терминала.)
- Дим Текст: 2
- Подчертан текст: 4
- Мигащ текст: 5 (Това не работи в повечето терминални емулатори.)
- Обратен текст: 7 (Това обръща цветовете на преден план и фон, така че ще видите черен текст на бял фон, ако текущият текст е бял текст на черен фон.)
- Скрит текст: 8
Когато указвате атрибут или повече от един цветен код, отделете списъка с кодове със знак с точка и запетая (;). Не е необходимо да указвате 0 за нормалния текст, тъй като нормалният текст се използва, когато тук не зададете атрибут.
Например, тъй като удебеленият текст е цветен код 1 и жълтият текст е цветен код 33, бихте използвали ди = 1; 33
да направите указателите получерво жълти. Можете също да посочите повече от един атрибут. Например, можете да използвате ди = 1; 4; 33
да направите директории удебелени, подчертани в жълто.
Ето списъка с цветните кодове на фона:
- Черен фон: 40
- Син фон: 44
- Циан фон: 46
- Зелен фон: 42
- Лилав фон: 45
- Червен фон: 41
- Бял фон: 47
- Жълт фон: 43
Например, тъй като син фон е цветен код 44, бихте използвали ди = 44
да използвате син фон за директории. Можете също така да комбинирате кода на фоновия цвят, кода на предния план и колкото искате атрибути. Например, ди = 1; 4; 33; 44
ще ви даде смел, подчертан жълт текст на син фон.
Ето списъка с кодовете на типовете файлове:
- Указател: di
- Файл: fi
- Символична връзка: ln
- Наименувана тръба (FIFO): pi
- Socket: така
- Блок устройство: bd
- Устройство с символи: cd
- Символична връзка за сираци (посочва файл, който вече не съществува): или
- Липсващ файл (липсващ файл, към който насочва символичната връзка): mi
- Изпълним файл (има разрешение „x“): ex
- * .extension: Всеки файл, завършващ с удължено от Вас разширение. Например, използвайте * .txt за файлове, завършващи в .txt, * .mp3 за файлове, завършващи с .mp3, * .desktop за файлове, завършващи с .desktop, или нещо друго, което ви харесва. Можете да укажете колкото искате различни разширения на файлове.
Посочете колкото се може повече различни типове кодове за файлови типове с толкова различни цветове, колкото желаете, разделени със знака:. Повторете този процес, за да съберете вашата променлива LS_COLORS.
Например, да кажем, че искате да използвате удебелен пурпурен текст за директории, подчертан червен текст за изпълними файлове и удебелен зелен текст на червен фон за .mp3 файлове. Сглобявайки кодовете на типовете файлове и цветните кодове от горните списъци, ще получите:
Кодът = "ди = 1; 35: ех = 4; 31:. * Mp3 = 1; 32; 41"
Как да зададете нови цветове по подразбиране
Сега имате персонализирана променлива LS_COLORS, която функционира в текущата сесия Bash. Въпреки това вероятно искате да го направите постоянен, така че да се използва автоматично, когато започнете нова Bash сесия, без да се налага да помните това.
Можете да зададете персонализираната си променлива LS_COLORS и всяка друга променлива Bash, като я добавите в .bashrc файла на потребителския си профил. Този файл се намира на адрес ~ / .bashrc. Така че, ако потребителското ви име е bob, ще го намерите в /home/bob/.bashrc. Има и други начини за задаване на променливи на околната среда, но това е просто.
Първо отворете този файл в предпочитания текстов редактор. Тук ще използваме nano като пример, но можете да използвате vi, emacs или нещо друго, което ви харесва.
nano ~ / .bashrc
Добавете персонализираната си променлива LS_COLORS в нов ред в края на файла, например по следния начин:
Кодът = "ди = 1; 35: ех = 4; 31:. * Mp3 = 1; 32; 41"
Запазете файла и излезте. В nano натиснете Ctrl + O и след това натиснете Enter, за да запишете, след това натиснете Ctrl + X, за да излезете.
Всеки път, когато започнете нова Bash сесия, Bash ще прочете файла .bashrc и автоматично ще зададе променливата LS_COLORS. За да промените цветовете си в бъдеще, върнете се във вашия .bashrc файл и редактирайте LS_COLORS реда.
Можете също да изтриете Кодът =
ред, добавен към вашия .bashrc файл, за да използвате отново цветовете по подразбиране. Ако не зададете LS_COLORS стойност, Bash ще използва стандартните цветове.