Jak pokolorować wyjście LS?

22

Używam CentOS w trybie tekstowym Linux. Po uruchomieniu polecenia ls /usr/wynik jest zbyt trudny do odczytania (ciemnoniebieski na czarnym). Jak mogę zmienić kolorystykę tekstu?

Zrzut ekranu wyjścia ls

runeveryday
źródło

Odpowiedzi:

19

Jeśli chcesz zmienić kolory w konsoli, czyli poza X , możesz określić kolory w swoim .bashrc, w ten sposób:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black
    echo -en "\e]P8222222" #darkgrey
    echo -en "\e]P1803232" #darkred
    ....
    fi

Gdzie definiujesz czerń jako #222222Zobacz szczegóły w tym poście: http://phraktured.net/linux-console-colors.html

Jeśli pracujesz w X , możesz dostosować konfigurację, definiując kolory w .Xresourcespodobny sposób:

!black
 *color0:  #3D3D3D
 *color8:  #5E5E5E
!red
 *color1:  #8C4665
 *color9:  #BF4D80
 ...

a następnie pozyskuje ten plik po uruchomieniu X, zazwyczaj z .xinitrc:

xrdb -merge ~/.Xresources

Arch Wiki ma stronę .Xresources, która wyjaśnia wszystkie opcje: https://wiki.archlinux.org/index.php/Xresources

Innym ulepszeniem, które możesz wprowadzić w X lub bez, jest określenie wszystkich różnych typów plików, które chcesz pokolorować - i ich odpowiednich kolorów w .dir_colorspliku, na przykład:

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
 ...

Aby rozpocząć, skopiuj /etc/dir_colorsdo /homekatalogu użytkownika i wprowadź zmiany. Następnie zdobądź to za .bashrcpomocą. eval $(dircolors -b ~/.dir_colors)Pozwoli ci to na dokładną kontrolę nad kolorami plików i typów plików podczas używania ls.

Możesz znaleźć (niezwykle szczegółowy i dokładny) .dir_colorsprzykładowy plik tutaj: https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

Kombinacja wszystkich trzech podejść pozwala stworzyć dość jednolitą konfigurację, niezależnie od tego, czy pracujesz w konsoli, czy w X.

jasonwryan
źródło
przepraszam, jestem nowym uczniem Linuksa. zainstalowałem go w tekście linux. nie ma konsoli. wszystko działa w linii poleceń. dziękuję
runeveryday
2
Tak: to miałem na myśli, gdy powiedziałem poza X - w konsolach TTY (TTY 1-7).
jasonwryan
jasonwryan, uruchamiam komendę vim / etc / DIR_COLORS, DIR ma wartość 01; 34 JAK ZMIENIĆ Kolor turkusowy. dziękuję
runeveryday
2
Określenie kolory są tutaj: tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html Zieleń jest 00;32i jasna / pogrubiona zieleń jest 1;32Jedynym sposobem na uzyskanie zielonego jest użycie metody, którą opisałem powyżej, aby zdefiniować jeden z tych 16 kolorów jako heksałowy ekwiwalent cyraneczki.
jasonwryan
przepraszam, jeśli jest to pytanie dla początkujących, ale czy Twoja odpowiedź zmienia się dla systemu Unix w OS X?
Charlie Parker
9

Potrzebny plik to /etc/DIR_COLORS. Miałem dokładnie ten sam problem co ty i zmieniłem katalogi na turkusowy kolor. Działa o wiele ładniej.

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

Edytuj /home/yourusername/.dir_colors, zobaczysz ten wiersz:

DIR 01;34    #directory

Zmień to na to:

DIR 01;36    #directory

Co sprawia, że ​​kolory katalogu są turkusowe.

n0pe
źródło
kiedy uruchamiam komendę / etc / DIR_COLORS, odmawia się pozwolenia na wyjście. jestem użytkownikiem root, dlaczego? jak zmienić kolor na turkusowy. dziękuję
runeveryday
3
@run To nie jest polecenie, to plik konfiguracyjny; otwórz go w edytorze tekstów
Michael Mrozek
DIR ma wartość 01; 34 JAK ZMIENIĆ Kolor w kolorze turkusowym. dziękuję
runeveryday
@MaxMackie To wydaje się nie działać dla mnie (skopiowane do ~/.dir_colors) i zmieniłem wszystko na 00. Okazało się, że muszę otworzyć nowy terminal. Jak jest to wymuszone / podłączone do bieżącego terminala?
Bernhard