Antworten:
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 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 -Rt
mindestens ls
einen 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 ' '
find
wie der Autor, sind diese Argumente -printf
Formatanweisungen, die in gefunden werden können man find
(Suche nach der fünften Instanz printf
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 verwenden
sort -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
Für zsh
Benutzer können Sie auch Glob-Qualifizierer verwenden (ebenfalls dokumentiert am man zshexpn
):
echo *(om)
Wo o
steht für Sortierreihenfolge, oben und m
steht 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]))