Frage

Wenn Sie ls in einer Bash-Shell ausführen, manchmal gibt es Farben unterschiedliche Ressourcentypen anzuzeigen, und Sie können aktivieren / steuern dies mit dem Argument --color.

Aber weder der Mann noch Seite Google ist eine Antwort auf die Frage Bereitstellung:

Was bedeutet diese Farben standardmäßig und wie zeige ich, was das derzeitige System verwendet?


UPDATE:

Danke an alle für die Antworten bisher jedoch machen es einfacher, einen Gewinner auszuwählen, kann jeder einen Schritt weiter gehen und ein Verfahren zur Ausgabe von Beschreibungen in den Farben, die sie anwenden liefern.

Hmmm ... mein Beispiel funktioniert nicht, wenn gebucht (nur bei der Vorschau), so dass, wenn Sie diesen Code Vorschau wird es zeigen, was ich meine ...

<ul style="list-style:none; background:black; margin:0;padding:0.5em; width:10em">
  <li style="color:blue">directory</li>
  <li style="color:aqua">symbolic link</li>
  <li style="color:#A00000;">*.tar files</li>
  <li style="color:white">...</li>
</ul>

Danke.

War es hilfreich?

Lösung

Die Farben werden durch die $LS_COLORS Umgebungsvariable definiert. Je nach Ihrer Distribution wird automatisch generiert, wenn die Schale beginnt, ~/.dircolors oder /etc/DIR_COLORS verwendet wird.

Edit:

Um die Bedeutung der Farben aufzulisten, verwenden Sie dieses Skript:

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
}

Andere Tipps

den Befehl dircolors -p ausführen, werden alle Standardfarbeinstellungen drucken. Siehe http://linux.about.com/library/cmd/blcmdl1_dircolors.htm.

Sie sollten in der Lage, die Liste der Zuordnungen in / etc / DIR_COLORS zu sehen. Sie können das umgehen, indem .dir_colors in Ihrem Home-Verzeichnis zu erstellen.

Versuchen Sie, „man 5 DIR_COLORS“ zu sehen, wie es auf Ihrem System eingestellt wird. Mine hat nicht / etc / DIR_COLORS so muss es irgendwo anders eingestellt werden.

Google für LS_COLORS für einige nützliche Links.

Edit: die Farben aufzulisten, diese einfache Bash-Skript kann eine Idee geben:

IFS=:
set $LS_COLORS
for C in $*
do
    IFS='='
    set $C
    echo -e "\033[$2m$1\033[00m"
done
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top