Ich habe ein Verzeichnis: /home/user/
Wie kann ich jede Datei in diesem Verzeichnis (einschließlich der Dateien in Unterverzeichnissen) auflisten und nach dem Datum sortieren, an dem sie zuletzt geändert wurden?
Sie können verwenden:
ls -Rt
Dabei -R
bedeutet rekursiv (einschließlich Unterverzeichnisse) und -t
bedeutet "Sortieren nach dem Datum der letzten Änderung".
Verwenden Sie Folgendes, um eine Liste der nach Änderungsdatum sortierten Dateien anzuzeigen:
ls -l -Rt
Dazu kann auch ein Alias erstellt werden:
alias lt='ls -lht'
lt
Wo -h
gibt eine besser lesbare Ausgabe.
ls -lrt[RhA]
. das-r
kehrt die Sortierreihenfolge um und lässt kürzlich bearbeitete Sachen am Ende der Liste ...-ila
Ihnen so ziemlich alle Informationen hinzu, die Sie benötigen würden.$ ls -ilaRt
ll -Rt
die perfekte Lösung für mich war, da ich die Dateien nach dem Datum der letzten Änderung anzeigen musste. Dies kann für andere hilfreich sein.ll
ist nicht vorhanden und kein Befehl. Es ist meistens ein Alias in der Bash-Shell, aber in den meisten / einigen /? Nicht definiert. Linux-Distributionen. Einige definieren es alsalias ll='ls -l'
in /etc/bash.bashrc oder /etc/.bashrc. Daher funktioniert es möglicherweise nicht und ist auf dem OP-System möglicherweise nicht vorhanden. Verwenden Siels -l -Rt
mindestensls
einen Standardbefehl, wie er von posix definiert wird. Oder geben Sie an, was Sie gemeint habenalias ll='ls -l'; ll -Rt
.Wenn Sie eine Hauptliste wünschen, in der alle Dateien nach Änderungsdatum sortiert sind und das Verzeichnis anzeigen, in dem sie sich befinden, aber nicht nach Verzeichnis gruppiert sind , können Sie Folgendes verwenden:
Das Ergebnis sieht sehr ähnlich aus
ls -l
:Mac OS X
Für diejenigen unter Ihnen, die Mac OS X verwenden, ist die Option -printf in BSD find nicht verfügbar (Sie erhalten diesen Fehler :)
find: -printf: unknown primary or operator
. Glücklicherweise können Sie GNU find über Homebrew installieren (es sollte auch eine Option für Fink und Macports geben ):Nach der Installation sollte Ihnen der GNU-Fund als zur Verfügung stehen
gfind
. Alles, was Sie tun müssen, ist die obige Zeile zu ändern in:quelle
find
wie der Autor, sind diese Argumente-printf
Formatanweisungen, die in gefunden werden könnenman find
(Suche nach der fünften Instanzprintf
auf dieser Seite).find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' '
Sie erhalten unter MacOS ungefähr die gleiche Ausgabe , wenn Sie nur integrierte Dienstprogramme verwendensort -r
um die Sortierung umzukehren und die zuletzt geänderten Dateien oben zu haben.MAC OSX 2019
Wenn Sie sich nicht darum kümmern, wann es erstellt wurde, aber Ihre Liste sortiert werden soll, verwenden Sie diesen Befehl
==>
ls -t
Wenn Sie Datum und Benutzerinformationen bestellen und anzeigen möchten, verwenden Sie diesen Befehl
===>
ls -lt
quelle
Für
zsh
Benutzer können Sie auch Glob-Qualifizierer verwenden (ebenfalls dokumentiert amman zshexpn
):Wo
o
steht für Sortierreihenfolge, oben undm
steht für die letzte Änderungszeit .Dies kann nützlich sein, wenn es in einer for-Schleife oder einem anderen Befehl verwendet wird:
Oder mit einem anderen Glob-Qualifier verkettet:
quelle