LS_COLORS
Mit der Umgebungsvariablen können Sie Farben für verschiedene Dateitypen für den ls
Befehl von GNU coreutil festlegen , z. B. Verzeichnisse, reguläre Dateien, Links usw. Ich nehme an, dass Punktdateien als Variation der Linux-Dateitypen und nicht als eigenständiger Typ betrachtet werden Keine Option zum Festlegen einer Anzeigefarbe für sie.
Gibt es eine (andere) Möglichkeit, mit ls
Listings versteckte Dateien in einer anderen Farbe anzuzeigen?
LS_COLORS
. Ich konnte nicht herausfinden, wie ich es für Dotfiles zum Laufen bringen kann, aber vielleicht möchten Sie es überprüfen.*.hide
. Diese Antwort behebt ein ähnliches Problem für Verzeichnisse, obwohl die Antworten auf dieses und das Verzeichnisproblem wahrscheinlich nicht dieselben sind.Antworten:
Wenn Sie nur nach Namen sortieren, kann dies helfen:
Der Befehl ls wird jedoch in zwei Teile aufgeteilt, einen für versteckte Dateien und Ordner und einen für den Rest.
quelle
Ja, benutze
cf
. Ich habe gerade eine gut dokumentierte Version veröffentlicht, die speziell die Ausgabe pro Dateierweiterung und / oder bestimmte spezielle Attribute (ausführbare Dateien, Links, versteckte Dateien und Verzeichnisse) färbt. Versuch es einmal!!! Es ist schwer loszulassen, wenn man sich erst einmal daran gewöhnt hat.https://github.com/AdamDanischewski/cf
quelle
Wenn Sie nur versteckte Dateien (und Ordner) hervorheben möchten und sich nicht um die Farbgebung aller anderen Dateien kümmern, ist der offensichtliche Ansatz die Ausführung
ls -la | grep -E "^| \.[^/|'.].*"
Wenn Sie die anderen Farben beibehalten möchten, wird es schwierig, da
$LS_COLORS
das Färben versteckter Dateien anscheinend nicht nativ unterstützt wird.Ich hatte die Idee, die versteckten Dateien des aktuellen Verzeichnisses dynamisch
$LS_COLORS
als Pseudoerweiterung an die Umgebungsvariable anzuhängen , sie dann auszuführenls -la
und anschließend auszuführendircolors
, um das ursprüngliche Farbschema zurückzusetzen. Offensichtlich liegt ein Konflikt vor, wenn eine versteckte Datei denselben Namen wie eine bekannte Erweiterung hat. Auch diese Methode funktioniert nicht mit versteckten Ordnern.Warnung: Diese Lösung ist ein (nicht sehr gründlich getesteter) Hack. Verwenden Sie es auf eigenes Risiko.
for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)
quelle