Was bedeuten die verschiedenen Farben in Ubuntu's ls
Befehl? Wenn ich zum Beispiel den Befehl "ls" in einem meiner Ordner eingebe, wird eine der Dateien hellgrün dargestellt, die andere (die ein Ordner ist) blau mit grüner Hervorhebung.
Was bedeuten diese Farben, und gibt es ein Handbuch zu all diesen Farben?
Zu Ihrer Information:
Um die Farbe auszuschalten, müssen Sie die folgenden Zeilen in .bashrc
auskommentieren.
# Aktiviere die Farbunterstützung von ls und füge auch praktische Aliase hinzu
#if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# alias vdir='vdir --color=auto' # alias vdir='vdir --color=auto'
#
# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'
#fi
Wenn Sie auch Ihre eigenen Bash-Farbbedeutungen sehen wollen, dann kopieren Sie die folgenden Codes in Ihr Terminal.
<!-- Sprache: bash -->
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')
{
IFS=:
for i in $LS_COLORS
do
echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"
done
}
Ausgabe:
Anmerkung:
man dir_colors
im Terminal ein. Sie können herausfinden, welche Farben ls
verwendet, indem Sie sich die Variable $LS_COLORS
ansehen:
Darüber hinaus werden die Dateien nach Attributen eingefärbt:
aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, zoo, cpio, 7z, rz.
jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.
Alle diese Informationen sind in der Ausgabe von dircolors --print-database
enthalten, aber ihre Formatierung ist ziemlich unleserlich.
Hier's eine technische Erklärung, was's passiert:
Beispiel:
CHR 40;33;01
Der Farbcode besteht aus drei Teilen:
Der erste Teil vor dem Semikolon steht für den Textstil.
Der zweite und dritte Teil sind die Farbe und die Hintergrundfarbe:
Jeder Teil kann weggelassen werden, wobei man davon ausgeht, dass er links beginnt, d.h. "01" bedeutet fett, "01;31" bedeutet fett und rot. Und Sie würden Ihr Terminal dazu bringen, in Farbe zu drucken, indem Sie die Anweisung mit "33" abschließen und mit einem "m" beenden. 33, oder 1B in Hexadezimal, ist das ASCII-Zeichen "ESCAPE" (ein Sonderzeichen im ASCII-Zeichensatz). Beispiel:
"\33[1;31mHello World\33[m"
Druckt "Hello World" in leuchtendem Rot.
Der Befehl ls
mit dem Argument --color=auto
(unter Ubuntu ist ls
ein Alias für ls --color=auto
) geht alle Dateinamen durch und versucht zunächst, verschiedene Typen wie Executable, Pipe und so weiter zu finden. Dann versucht es, reguläre Ausdrücke wie *.wav zu finden und gibt den resultierenden Dateinamen aus, eingeschlossen in diese farbverändernden Anweisungen für die Bash.
Wenn Sie dircolors
(echo $LS_COLORS
funktioniert auch) auf der Kommandozeile eingeben, erhalten Sie eine Liste von Codes und Farben für viele Dateitypen in einer Zeile. Mit dircolors --print-database
werden sie in 1 Zeile auf einmal angezeigt. Hier ist eine kurze Liste (ich habe versucht, die wichtigsten aufzulisten). Unten gibt es eine Erklärung, was die verschiedenen Codes am Ende jeder Zeile bedeuten:
NORMAL 00 # globale Standardeinstellung, obwohl alles etwas sein sollte. FILE 00 # normale Datei DIR 01;34 # Verzeichnis LINK 01;36 # symbolischer Link. (Wenn Sie dies auf 'target' statt auf einen (Wenn Sie hier 'target' anstelle eines numerischen Wertes angeben, ist die Farbe wie bei der Datei, auf die gezeigt wird). FIFO 40;33 # Pipe SOCK 01;35 # Steckdose DOOR 01;35 # Tür BLK 40;33;01 # Block Gerätetreiber CHR 40;33;01 # Zeichen-Gerätetreiber ORPHAN 40;31;01 # Symlink zu einer nicht existierenden oder nicht stat'tischen Datei SETUID 37;41 # Datei, die setuid ist (u+s) SETGID 30;43 # Datei, die setgid ist (g+s) STICKY_OTHER_WRITABLE 30;42 # Datei, die sticky und other-writable ist (+t,o+w) OTHER_WRITABLE 34;42 # Verzeichnis, das anderweitig beschreibbar ist (o+w) und nicht sticky STICKY 37;44 # Verzeichnis, bei dem das Sticky-Bit gesetzt ist (+t) und das nicht anderweitig beschreibbar ist # Archive oder komprimiert (hellrot) .tar 01;31 .tgz 01;31 # Bildformate .jpg 01;35 .jpeg 01;35 .gif 01;35 .bmp 01;35 # Audioformate .aac 00;36 .flac 00;36 .ogg 00;36
00=keiner 01=fett 04=unterstrichen 05=blinkend 07=umgekehrt 08=versteckt
30=schwarz 31=rot 32=grün 33=gelb 34=blau 35=magenta 36=cyan 37=weiß
Wenn Sie damit herumspielen möchten, finden Sie hier ein Beispiel dafür, wie Sie eine Farbe für eine Datei festlegen können:
export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"
Dies setzt *.ogg
und .mp3
auf fett magenta
. Und wenn Sie es in Ihre .bashrc
-Datei schreiben, wird es dauerhaft.