ls --group-directories-first
Zeigt alle Verzeichnisse vor Dateien an. Wenn jedoch ein Symlink zu einem Verzeichnis vorhanden ist, wird dieser unter den Dateien angezeigt. Gibt es eine Möglichkeit, Verzeichnissymlinks mit anderen regulären Verzeichnissen zu gruppieren?
7
-L
was du willstbash
.Antworten:
Erwägen Sie die Verwendung
-L
. Zum Beispiel:quelle
Ich denke nicht, dass dies ohne möglich ist
-L
(was Ihnen Informationen über das Ziel des Symlinks anstelle des Symlinks gibt).Sie können immer
two
ls-Aufrufe ausführen , einen für die Verzeichnisse, einen für die Nicht-Verzeichnisse. Mitzsh
:ls -l
Dies gilt nur für das aktuelle Verzeichnis. Es muss angepasst werden, um andere Dateien / Verzeichnisse aufzulisten.Beachten Sie auch, dass die Spaltenausrichtung möglicherweise beschädigt wird:
Eine andere Möglichkeit wäre,
-qF
die Zeilen zu verwenden und zu sortieren, die/
zuerst enden (setzt GNU voraus,ls
da nicht jedels
Implementierung/
Symlinks zu Verzeichnissen enthält und einesort
Implementierung, die-s
wie GNU unterstütztsort
, aber Ihre--group-directories-first
ist ohnehin schon GNU-spezifisch):Beispiel:
Beachten Sie, dass
zsh
Sie mit seinem Vervollständigungssystem anweisen können, die Verzeichnisse zuerst aufzulisten mit:Außerdem werden Symlinks zu Verzeichnissen in der Verzeichniskategorie eingefügt:
(mit Farben und denen, die ... Beschreibungen vervollständigen, wenn mit mehr
zstyle
s aktiviert )Sie können diesen Abschlussstil für einen Befehl pro Basis aktivieren, indem Sie diesen
zstyle
Befehl in Folgendes ändern :Zum Beispiel, um es nur für die Befehle
ls
und zu aktivierenecho
.Hier ist ein Beispiel für die
~/.zshrc
Konfiguration, um diese Ausgabe in der obigen Farbe zu erhalten.Siehe auch die
compinstall
Funktion für eine menübasierte Schnittstelle zum Konfigurieren der zsh-Vervollständigung.quelle
mll
hier vorgestellt unix.stackexchange.com/a/111639/72304 würde tun, was OP willbash
, oder?lsdirfirst()
Funktion verwendet und die für Menschen lesbare-h
Option verwenden möchte , ändern Sie den zu lesenden regulären Ausdruck/^total [0-9\.]+\w+?$/
. Ohne dies wird die "Summe" zwischen den Verzeichnissen und Dateien angezeigt, wo sie nicht angezeigt werden soll.