dir_colors(5)

NAZWA
dir_colors - plik konfiguracyjny dircolors(1)

OPIS
Program ls(1) korzysta ze zmiennej środowiskowej LS_COLORS do określenia kolorów używanych do wyświetlania nazw plików. Zmienna środowiskowa jest zwykle ustawiana przez polecenie takie jak

    eval `dircolors jakas_sciezka/dir_colors`

w pliki inicjującym domyślną powłokę systemową, jak /etc/profile lub /etc/csh.cshrc (zob. też dircolors(1)). Używanym tu plikiem jest zwykle /etc/DIR_COLORS, który można przesłonić plikiem .dir_colors w katalogu domowym danego użytkownika.

Plik konfiguracyjny składa się z wielu wyrażeń, po jednym na wiersz. Wszystko co znajduje się na prawo od znaku kratki (#) jest traktowane jako komentarz, jeśli znak ten znajduje się na początku wiersza i następuje za nim co najmniej jedna spacja. Puste wiersze są ignorowane.

Sekcja global pliki składa się ze wyrażeń, które znajdują się przed pierwszym wyrażeniem TERM. Wszelkie wyrażenia w sekcji global pliki są uważane jako prawidłowe dla wszystkich typów terminali. Po sekcji global występuje jedna lub więcej sekcji właściwych dla konkretnego terminala, poprzedzonych przez jedno lub więcej wyrażeń TERM określających typy terminali (jak podawanych przez zmienną środowiskową TERM), po których następują właściwe im deklaracje. Deklarację globalną zawsze da się przesłonić przez kolejną deklarację właściwą dla konkretnego terminala.

Rozpoznawane są następujące wyrażenia; wielkość znaków nie ma znaczenia:

TERM typ-terminala
    Zaczyna sekcję właściwą dla konkretnego terminala i określa, do którego terminala się ona odnosi. Można podać wiele wyrażeń TERM, aby utworzyć sekcję stosującą się do wielu typów terminali.

COLOR yes|all|no|none|tty
    (tylko Slackware; ignorowane przez GNU dircolors(1)) Określa, że kolorowanie powinno być zawsze włączone (yes lub all), nigdy nie włączone (no lub none) lub włączone tylko, gdy wyjściem jest terminal (tty). Wartość domyślna to no.

EIGHTBIT yes|no
    (tylko Slackware; ignorowane przez GNU dircolors(1)) Określa, że ośmiobitowe znaki ISO/IEC 8859 powinny być domyślnie włączone. Ze względu na kompatybilność, można podać również 1 jako yes lub 0 jako no. Wartość domyślna to no (wyłączone).

OPTIONS opcje
    (tylko Slackware; ignorowane przez GNU dircolors(1)) Dodaje opcje wiersza poleceń do domyślnego wiersza polecenia ls. Opcjami mogą być dowolne prawidłowe opcje wiersza poleceń ls i powinno się je podać wraz z rozpoczynającym znakiem minus. Proszę zauważyć, że dircolors nie weryfikuje prawidłowości tych opcji.

NORMAL sekwencja-koloru
    Określa kolor używany przez zwykły (niebędący nazwą pliku) tekst.

    Synonim: NORM.

FILE sekwencja-koloru
    Określa kolor używany do zwykłego pliku.

DIR sekwencja-koloru
    Określa kolor używany do katalogów.

LINK sekwencja-koloru
    Określa kolor używany do dowiązania symbolicznego.

    Synonimy: LNK, SYMLINK.

ORPHAN sekwencja-koloru
    Określa kolor używany do zerwanego dowiązania symbolicznego (wskazującego na nieistniejący plik). Jeśli wartość ta nie będzie określona, ls w takim przypadku użyje koloru LINK.

MISSING sekwencja-koloru
    Określa kolor używany do brakującego pliku (nieistniejącego pliku, na który jednak wskazuje dowiązanie symboliczne). Jeśli wartość ta nie będzie określona, ls w takim przypadku użyje koloru FILE.

FIFO sekwencja-koloru
    Określa kolor używany do FIFO (nazwanego potoku).

    Synonim: PIPE.

SOCK sekwencja-koloru
    Określa kolor używany do gniazda.

DOOR sekwencja-koloru
    (Obsługiwane od fileutils 4.1) Określa kolor używany do pliku door (Solaris 2.5 i późniejsze).

BLK sekwencja-koloru
    Określa kolor używany do pliku specjalnego urządzenia blokowego.

    Synonim: BLOCK.

CHR sekwencja-koloru
    Określa kolor używany do pliku specjalnego urządzenia znakowego.

    Synonim: CHAR.

EXEC sekwencja-koloru
    Określa kolor używany do pliku z ustawionym atrybutem wykonania.

SUID sekwencja-koloru
    Określa kolor używany do pliku z ustawionym atrybutem ustawienia identyfikatora użytkownika podczas wykonania (SUID).

    Synonim: SETUID.

SGID sekwencja-koloru
    Określa kolor używany do pliku z ustawionym atrybutem ustawienia identyfikatora grupy podczas wykonania (SGID).

    Synonim: SETGID.

STICKY sekwencja-koloru
    Określa kolor używany do katalogu z ustawionym atrybutem bitu lepkości.

STICKY_OTHER_WRITABLE sekwencja-koloru
    Określa kolor używany do katalogu zapisywalnego dla innych, z ustawionym atrybutem wykonania.

    Synonim: OWT.

OTHER_WRITABLE sekwencja-koloru
    Określa kolor używany do katalogu zapisywalnego dla innych, bez ustawionego atrybutu wykonania.

    Synonim: OWR.

LEFTCODE sekwencja-koloru
    Określa lewy kod do terminali innych niż ISO/IEC 6429 (zob. niżej).

    Synonim: LEFT.

RIGHTCODE sekwencja-koloru
    Określa prawy kod do terminali innych niż ISO/IEC 6429 (zob. niżej).

    Synonim: RIGHT.

ENDCODE sekwencja-koloru
    Określa kod końcowy do terminali innych niż ISO/IEC 6429 (zob. niżej).

    Synonim: END.

*rozszerzenie sekwencja-koloru
    Określa kolor używany przez wszystkie pliki kończące się rozszerzeniem.

.rozszerzenie sekwencja-koloru
    Jak *.rozszerzenie. Określa kolor używany przez wszystkie pliki kończące się rozszerzeniem. Proszę zauważyć, że kropka jest częścią rozszerzenia, zatem nie da się podać rozszerzenia niezaczynającego się kropką, takiego jak pliki kopii zapasowej ~ programu emacs. Tę postać należy uważać za przestarzałą.

  Sekwencje kolorów ISO/IEC 6429 (ANSI)
Większość dzisiejszych terminali ASCII z możliwością wyświetlania kolorów używa sekwencji kolorów ISO/IEC 6429 (ANSI), a wiele popularnych terminali niekolorowych, w tym xterm i często spotykany i klonowany DEC VT100, rozpoznaje kody kolorów ISO/IEC 6429 i bezboleśnie eliminuje je z wyjścia lub emuluje je. ls używa domyślnie kodów ISO/IEC 6429 o ile kolorowanie jest włączone.

Kody kolorów ISO/IEC 6429 składają się z sekwencji liczb rozdzielonych dwukropkiem. Najpopularniejsze kody to:
    0 | przywraca kolor domyślny
    1 | rozjaśnia kolory
    4 | podkreśla tekst
    5 | tworzy tekst migający
    30 | czarny tekst (pierwszy plan)
    31 | czerwony tekst
    32 | zielony tekst
    33 | żółty (lub brązowy) tekst
    34 | niebieski tekst
    35 | fioletowy tekst
    36 | błękitny tekst
    37 | biały (lub szary) tekst
    40 | czarne tło
    41 | czerwone tło
    42 | zielone tło
    43 | żółte (lub brązowe) tło
    44 | niebieskie tło
    45 | fioletowe tło
    46 | błękitne tło
    47 | białe (lub szare) tło

Nie wszystkie polecenia zadziałają na wszystkich systemach lub urządzeniach.

ls używa następujących wartości domyślnych:
NORMAL | 0 | Zwykły tekst (niebędący nazwą pliku)
FILE | 0 | Zwykły plik
DIR | 32 | Katalog
LINK | 36 | Dowiązanie symboliczne
ORPHAN | niezdefiniowane | Zerwane dowiązanie symboliczne
MISSING | niezdefiniowane | Brakujący plik
FIFO | 31 | Potok nazwany (FIFO)
SOCK | 33 | Gniazdo
BLK | 44;37 | Urządzenie blokowe
CHR | 44;37 | Urządzenie znakowe
EXEC | 35 | Plik wykonywalny

Kilka programów nie rozpoznaje poprawnie wartości domyślnych. Jeśli po wypisaniu zawartości katalogu cały tekst pozostaje kolorowany, należy zmienić kody NORMAL i FILE na numeryczne kody stosowanych zwykłych kolorów tekstu i tła.

  Inne typy terminali (konfiguracja zaawansowana)
Jeśli posiada się terminal (albo drukarkę!) kolorowy (lub stosujący podświetlenie), który korzysta z innego zestawu kodów, wciąż można utworzyć odpowiednie ustawienia. W tym celu trzeba będzie użyć definicji LEFTCODE, RIGHTCODE i ENDCODE.

Przy wypisywaniu nazwy pliku, ls tworzy następujące sekwencje wyjściowe: LEFTCODE kod-od-typu RIGHTCODE nazwa-pliku ENDCODE, gdzie kod-od-typu jest sekwencją koloru zależną od typu lub nazwy pliku. Jeśli ENDCODE jest niezdefiniowany, w zamian będzie używana sekwencja LEFTCODE NORMAL RIGHTCODE. Przeznaczeniem lewego i prawego kodu jest tylko ograniczenie wielkości wpisywanego tekstu (i ukrycie nieestetycznych sekwencji specjalnych przed użytkownikiem). Jeśli nie są one wymagane przez używany terminal, można je wyeliminować, wpisując samodzielnie dane słowo kluczowe w wierszu.

UWAGA: Jeśli w globalnej sekcji pliku konfiguracyjnego zdefiniowano ENDCODE, nie da się usunąć tej definicji w sekcji właściwej dla danego terminala. Oznacza to, że definicje NORMAL wówczas nie zadziałają. Można jednak podać różne ENDCODE, co da ten sam efekt.

  Sekwencje specjalne
Aby w sekwencjach kolorów lub rozszerzeń nazw plików podać znaki sterujące lub odstępy, można zastosować notację specjalną języka C stosującą \ lub notację specjalną stty stosującą ^-. Notacja języka C obejmuje poniższe znaki:
    \a | Dzwonek (ASCII 7)
    \b | Backspace (ASCII 8)
    \e | Escape (ASCII 27)
    \f | Wysuw strony (ASCII 12)
    \n | Nowy wiersz (ASCII 10)
    \r | Powrót karetki (ASCII 13)
    \t | Tabulator (ASCII 9)
    \v | Tabulator pionowy (ASCII 11)
    \? | Delete (ASCII 127)
    \nnn | Dowolny znak (notacja ósemkowa)
    \xnnn | Dowolny znak (notacja szesnastkowa)
     | Spacja
    \\ | Odwrotny ukośnik (\)
     | Kareta (^)
    \a | Znak kratki (#)

Proszę zauważyć, że sekwencje specjalne są konieczne do podania spacji, odwrotnego ukośnika, karety lub dowolnych znaków sterujących w łańcuchu, jak również znaku kratki jako pierwszego znaku.

PLIKI

/etc/DIR_COLORS
    Ogólnosystemowy plik konfiguracyjny (tylko Slackware, SuSE i RedHat; ignorowane przez GNU dircolors(1), zatem też przez Debiana).

~/.dir_colors
    (Tylko Slackware, SuSE i RedHat; ignorowane przez GNU dircolors(1), zatem też przez Debiana). Plik konfiguracyjny użytkownika.

Niniejsza strona podręcznika systemowego opisuje format pliku dir_colors używany przez pakiet fileutils-4.1; inne wersje mogą się nieco różnić.

UWAGI
Domyślne definicje LEFTCODE i RIGHTCODE używane przez terminale ISO/IEC 6429 to:
    LEFTCODE | \e[
    RIGHTCODE | m

Domyślnie ENDCODE jest niezdefiniowany.

ZOBACZ TAKŻE
dircolors(1), ls(1), stty(1), xterm(1)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.