Was bedeuten die verschiedenen Farben in Ubuntus ls
Befehl? Wenn ich beispielsweise den ls
Befehl in einen meiner Ordner tippe, wird eine der Dateien hellgrün und die andere (ein Ordner) blau mit grüner Hervorhebung angezeigt.
Was bedeuten diese Farben und es gibt ein Handbuch zu allen Farben?
command-line
colors
ls
Rafid
quelle
quelle
eval
Skript, das die Ausgabefarbdarstellung für jeden Typ zeigt, ist brillant ... danke!eval
Skripts finden Sie hier: github.com/gkotian/gautam_linux/blob/master/scripts/colours.shSie können herausfinden, welche Farben
ls
verwendet werden, indem Sie sich die$LS_COLORS
Variable ansehen:Außerdem werden Dateien nach Attributen gefärbt:
aac, au, flac, mitte, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
teer, tgz, arj, taz, lzh, lzma, tlz, txz, reißverschluss, 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 mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, angst, ogv, ogx.
Alle diese Informationen sind in der Ausgabe von enthalten
dircolors --print-database
, ihre Formatierung ist jedoch eher unlesbar.Hier ist eine technische Erklärung, was passiert:
Beispiel:
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, vorausgesetzt, er beginnt links. dh "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 schließen
\33[
und mit einem abschließenm
. 33 oder 1B hexadezimal ist das ASCII-Zeichen "ESCAPE" (ein Sonderzeichen im ASCII-Zeichensatz). Beispiel:Druckt "Hello World" in leuchtendem Rot.
Der Befehl
ls
mit dem Argument--color=auto
(unter Ubuntuls
ist dies ein Alias fürls --color=auto
) durchläuft alle Dateinamen und versucht zunächst, verschiedene Typen wie Executable, Pipe usw. zuzuordnen. Anschließend wird versucht, reguläre Ausdrücke wie * .wav abzugleichen, und der resultierende Dateiname wird gedruckt, der in diesen Anweisungen zum Ändern der Farbe für bash enthalten ist.quelle
Wenn Sie über die Befehlszeile schreiben
dircolors
(echo $LS_COLORS
funktioniert auch), erhalten Sie eine Liste mit Codes und Farben für viele Dateitypen in einer Zeile.dircolors --print-database
Zeigt sie jeweils in einer Zeile an. Hier ist eine kurze Liste (ich habe versucht, die wichtigsten einzufügen). Unten finden Sie eine Erklärung, was die verschiedenen Codes am Ende jeder Zeile bedeuten:00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
Wenn Sie damit herumspielen möchten, finden Sie hier ein Beispiel zum Festlegen einer Farbe für eine Datei:
Dies setzt
*.ogg
und.mp3
umbold magenta
. Und wenn Sie es in Ihre.bashrc
Akte einsetzen, wird es dauerhaft.quelle
pdf
Datei festzulegen, ist der Prozess zu verwendenexport
? Ist es möglich, einfach eine Erweiterung in die StandardvariableLS_COLORS
einzufügen?Dies erweitert die Antwort von Karthick87 .
Mit der Standardeinstellung
ls -l
)Skript zum Anzeigen von Farben
Ausgabe mit Standardeinstellung:
Ausgabe mit meinem Setup (benutzerdefinierte Verzeichnisse und benutzerdefiniertes Solarized-Terminal-Design):
Ich erhielt die Beschreibungen von
dircolors -p
undman dir_colors
und füllte die Lücken mit meinen eigenen Nachforschungen.Die Farben und Beschreibungen sind vom 14.04 bis 17.10 gleich.
quelle
rs
MittelRESET
,mh
MittelMULTIHARDLINK
,ca
MittelCAPABILITY
usw.?dircolors -p
.dircolors -p
nicht sagen rs ist RESET 0 # wieder auf "normal" Farbe .Keine der Antworten hier enthält die 256 Farboptionen in den neuesten Versionen von Ubuntu. Ich habe Farbdefizite (einige Farben verursachen Probleme in der Nähe), daher ist das Standardverzeichnis für Blau auf Schwarz für mich sehr schwer zu lesen. Was folgt, ist meine Forschung, um das zu ändern.
Geben Sie
dircolors -p |less
Ihren aktuellen Farbcode zu sehen.Die Standardeinstellung .bashrc sollte bereits so konfiguriert sein, dass nicht nur der Systemfarbcode, sondern auch einer in ~ / .dircolors ausgenutzt wird. Kopieren Sie daher die Dircolors-Ausgabe nach .dircolor, damit Sie mit diesem Befehl beginnen können.
dircolors -p > ~/.dircolors
Alternative: Nehmen Sie ein sehr ähnliches 256-Farben-Verzeichnis aus dem Solarprojekt von Seebi .
Holen Sie sich dieses farbenfrohste Skript und führen Sie es mit dem Befehl aus,
colortest -w
damit Sie alle Farben auf einmal sehen können. Wähle eine Farbe. Ich mag die Orange # 208. Ich möchte, dass dies die Textfarbe ist. Wenn ich diese Informationen für erweiterte Farbcodes verwende, kann ich das anwenden.Du hast also eine Farbe, was nun? Zuerst müssen wir den String erstellen.
Die erste Zahl ist ein Attributcode, höchstwahrscheinlich 00, aber wenn Sie möchten, dass es blinkt, gehen Sie zu 05:
Als nächstes wählen Sie
;38;5;
an diesen Attributcode anhängen , um Ihre Textfarbe anzugeben und 00; 38; 5; und hängen Sie dann Ihre Farbe an. Ich habe 208 gewählt, damit ich bekomme00;38;5;208
.Wenn Sie auch einen Hintergrund hinzufügen möchten, wählen Sie eine andere Farbe (sagen wir 56) mit dem farbigsten Skript und fügen Sie
;48;5;
den Hintergrund und die Farbe 56 hinzu, um eine Gesamtzeichenfolge von zu erhalten00;38;5;208;48;5;56
.Also jetzt hast du es, was machst du damit?
vim ~/.dircolors
und suchen Sie den Abschnitt, den Sie ändern möchten (für mich ist das DIR), in die Zeichenfolge, die wir über "00; 38; 5; 208" festgelegt haben.Dies gilt nicht sofort, Sie müssen die Konfiguration laden. Verwenden Sie
dircolors ~/.dircolors
den Get-Code, um Ihre LS_COLORS-Variable festzulegen. Sie können das einfach in Ihre Terminalsitzung einfügen oder Ihr Terminal schließen und erneut öffnen. Sie können das auch in eine Datei leiten und als Shell-Skript ausführen.Sie können dasselbe Verfahren mit 16 Farben durchführen. Du brauchst keine speziellen Sachen wie 38, 5 oder 48, 5. Werfen Sie einfach die Zahlen in die Zeichenfolge und genießen Sie die Einfachheit.
Vielen Dank an Dan und seebi für ihre Notizen und den Code dazu.
quelle