Antworten:
Sie können verwenden:
ls -Rt
Dabei -Rbedeutet rekursiv (einschließlich Unterverzeichnisse) und -tbedeutet "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 -hgibt eine besser lesbare Ausgabe.
ls -lrt[RhA]. das -rkehrt die Sortierreihenfolge um und lässt kürzlich bearbeitete Sachen am Ende der Liste ...
-ilaIhnen so ziemlich alle Informationen hinzu, die Sie benötigen würden. $ ls -ilaRt
ll -Rtdie 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.
llist 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 als alias 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 Sie ls -l -Rtmindestens lseinen Standardbefehl, wie er von posix definiert wird. Oder geben Sie an, was Sie gemeint haben alias 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:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Das Ergebnis sieht sehr ähnlich aus ls -l:
-rw-r - r-- 1 root root 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 root root 22946 13.08.2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 root root 728 17.08.2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 root root 873 18.08.2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 root root 2552 19.08.2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 root root 9546 19.08.2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 root root 2201 19.08.2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 root root 926 19.08.2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 root root 18052 19.08.2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 root root 1845 19.08.2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
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 ):
brew install findutils
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:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
findwie der Autor, sind diese Argumente -printfFormatanweisungen, die in gefunden werden können man find(Suche nach der fünften Instanz printfauf 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 verwenden
sort -rum 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
Für zshBenutzer können Sie auch Glob-Qualifizierer verwenden (ebenfalls dokumentiert am man zshexpn):
echo *(om)
Wo osteht für Sortierreihenfolge, oben und msteht für die letzte Änderungszeit .
Dies kann nützlich sein, wenn es in einer for-Schleife oder einem anderen Befehl verwendet wird:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
Oder mit einem anderen Glob-Qualifier verkettet:
last_modified_file=(*(om[1]))