Wie ändere ich die Farbe für Verzeichnisse mit ls in der Konsole?

Wie ändere ich die Farbe für Verzeichnisse mit ls in der Konsole?

Auf meiner Konsole ist die Farbe für Verzeichnisse so blau, dass sie auf einem dunklen Hintergrund schwer zu lesen sind.

Wie kann ich die Farbdefinitionen für ändern ls?

Antwort1

Um die Farben Ihres Verzeichnisses zu ändern, öffnen Sie die ~/.bashrcDatei mit Ihrem Editor

nano ~/.bashrc

und nehmen Sie am Ende der Datei folgenden Eintrag vor:

LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS

Einige schöne Farboptionen (in diesem Fall 0;35ist es Lila) sind:

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

Die erste Zahl ist die Stilrichtung (1=fett), gefolgt von einem Semikolon und dann der eigentlichen Nummer der Farbe, mögliche Stilrichtungen (Effekte) sind:

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)

Die möglichen Hintergründe:

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

Alle möglichen Farben:

30  = black
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

Diese können sogar kombiniert werden, sodass ein Parameter wie:

di=1;4;31;42

in Ihrer LS_COLORS-Variable würden Verzeichnisse in fettem, unterstrichenem rotem Text mit grünem Hintergrund erscheinen!

Um alle diese Farben und Stile in Ihrem Terminal zu testen, können Sie eines der folgenden verwenden:

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

Sie können mit dem Befehl ls auch andere Dateitypen ändern, indem Sie jeden Typ wie folgt definieren:

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

Eine ausführlichere Liste finden Sie unterBigsoft – Konfigurieren von LS_COLORS.

Bei einigen Distributionen möchten Sie möglicherweise auch die Hintergrundfarbe für ow„( OTHER_WRITABLE), dessen Standard nicht lesbar ist“ ändern, beispielsweise in nicht fetten blauen Text auf grünem Hintergrund.

Sie können es beispielsweise LS_COLORS="$LS_COLORS:di=1;33"am Ende Ihrer .bashrcDatei verwenden, um einen gut lesbaren, fettgedruckten orangefarbenen Text auf schwarzem Hintergrund zu erhalten.

Nachdem Sie Ihre .bashrc-Datei geändert haben, müssen Sie Ihre Shell neu starten oder ausführen, damit die Änderungen wirksam werden source ~/.bashrc.

Hinweis: Sie können mehrere Befehle mit einemDoppelpunkt, Zum Beispiel

LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls

Quelle:

Antwort2

Ganz einfach. Fügen Sie diese drei Zeilen zu ~/.bashrc hinzu

$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'

Wenn Sie die Änderungen in einer laufenden Bash-Sitzung anwenden möchten, führen Sie Folgendes aus:

source ~/.bashrc

Antwort3

Zusätzlich zu Hegazis Antwort können Sie die Verzeichnisfarbe und viele andere Farben mit dem Befehl dircolors steuern. Sie können eine gut dokumentierte Konfigurationsdatei erstellen.

Sie können eine .dircolor-Datei in Ihrem Home-Verzeichnis wie folgt erstellen:

dircolors -p > ~/.dircolors

Fügen Sie dann in Ihrer ~/.bashrc-Datei die Zeilen hinzu

eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'

Dadurch wird eine Variable $LS_COLORS für Bash erstellt. Das Flag -c setzt sie für CSH. Es markiert auch den Befehl ls, um in Farbe anzuzeigen.

Bearbeiten Sie den Wert des DIR-Attributs wie oben in der Dateifarbe ~/.dircolor, um die Farbe des Verzeichnisses (oder eines der anderen enthaltenen Dateitypen für andere Farben) zu ändern. Sie können auch die Farben bestimmter Dateien ändern oder Ihre eigenen definieren.

Antwort4

LS_FARBEN

Dies ist eine Sammlung von Erweiterungsfarbzuordnungen, die sich als Umgebungsvariable für LS COLORS eignen.

verwandte Informationen