dircolors
- dircolors – program z pakietu GNU coreutils służący do konwersji bazy kolorów plików (np.
/etc/DIR_COLORS
) na odpowiednie polecenia powłoki ustawiające zmienną środowiskowąLS_COLORS
. - Pozwala dostosować schemat kolorowania dla takich narzędzi jak
ls
,dir
,vdir
, ułatwiając wizualne rozróżnianie typów plików i atrybutów (własność, uprawnienia, rozszerzenia). - Działa w trybie Bourne‑shell (
-b
,--sh
) lub C‑shell (-c
,--csh
); może też wypisać wbudowaną bazę (-p
,--print-database
).
Składnia
Dział zatytułowany „Składnia”dircolors [opcje] [plik_bazy]
- Bez argumentów czyta
/etc/DIR_COLORS
lub domyślną wbudowaną konfigurację. - Wynik dołączyć do bieżącej sesji za pomocą
eval "$(dircolors ...)"
.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-b , --sh , --bourne-shell | Generuje polecenia kompatybilne z Bourne shell (export LS_COLORS=… ). |
-c , --csh , --c-shell | Generuje polecenia dla C Shell (setenv LS_COLORS … ). |
-p , --print-database | Wypisuje wbudowaną bazę kolorów na stdout. |
-q , --quiet , --silent | Tłumi komunikaty o błędach dotyczące brakujących plików. |
--help | Wyświetla krótką pomoc. |
--version | Wyświetla wersję programu. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1. Załadowanie domyślnej bazy kolorów Bourne-shelleval "$(dircolors -b)"
# 2. Użycie własnego pliku kolorów w ~/.dircolorseval "$(dircolors -b ~/.dircolors)"
# 3. Podgląd wbudowanej bazy i zapis do plikumkdir -p ~/.config && dircolors -p > ~/.config/dircolors.base
# 4. Konfiguracja dla użytkowników C Shellsetenv LS_COLORS "`dircolors -c ~/.dircolors-custom`"
- Zmienne środowiskowe:
dircolors
nie modyfikuje środowiska sam; generuje kod, który trzeba wykonać (eval
). - Plik bazy: Składnia opiera się na parach
KEY COLOR-CODE
; można nadpisywać istniejące lub dodawać nowe rozszerzenia plików. - Kolor ANSI: Kody to sekwencje
0;31
(czerwony),1;34
(pogrubiony niebieski) itp.; wartości są interpretowane przezls --color
. - Kompatybilność: Niektóre terminale wymagają odpowiednich wartości
TERM
; przy błędnymTERM
kolory mogą nie działać. - Alternatywy: Narzędzia jak
colorls
czyexa
korzystają z własnych schematów, ale mogą respektowaćLS_COLORS
.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
dircolors: cannot read ... | Brak lub niewłaściwa ścieżka pliku bazy | Podaj poprawną ścieżkę lub stwórz plik z dircolors -p . |
LS_COLORS nie działa | Brak eval lub nieodświeżone środowisko | Dodaj linijkę eval "$(dircolors -b)" do ~/.bashrc i zaloguj ponownie. |
Nieobsługiwane kolory w terminalu | TERM ustawione na dumb lub brak ANSI | Ustaw TERM=xterm-256color lub użyj odpowiedniego emulatora. |
Zmienne rozszerzenia nie kolorują się | Brak wpisu w bazie kolorów | Dodaj linię *.log 01;33 (żółty) w pliku bazy i ponownie załaduj. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man dircolors – oficjalna dokumentacja.
- GNU coreutils – dircolors – pełny manual online.
- Linux Shell Colors – konfiguracja kolorów w konsoli.