Ich weiß, ls -t
dass alle Dateien nach geänderter Zeit aufgelistet werden. Aber wie kann ich diese Ergebnisse auf die letzten n Dateien beschränken?
tharl
da sie normalerweise alles haben, was ich brauche.
Ich weiß, ls -t
dass alle Dateien nach geänderter Zeit aufgelistet werden. Aber wie kann ich diese Ergebnisse auf die letzten n Dateien beschränken?
tharl
da sie normalerweise alles haben, was ich brauche.
Antworten:
Versuchen Sie es mit Kopf oder Schwanz. Wenn Sie die 5 zuletzt geänderten Dateien möchten:
ls -1t | head -5
Die -1 (das ist eine Eins) sagt eine Datei pro Zeile und der Kopf sagt, nimm die ersten 5 Einträge.
Wenn Sie die letzten 5 versuchen möchten
ls -1t | tail -5
ls
in mehreren Spalten, aber die Ausgabe von ls
wird an den folgenden Befehl mit jeweils 1 Datei / Verzeichnis weitergeleitet
ls -1t | head -n 6 | tail -n 5
Die akzeptierte Antwort listet nur die Dateinamen auf, aber um die Top 5 Dateien zu erhalten, kann man auch verwenden:
ls -lht | head -6
wo:
-l
Ausgaben in einem Listenformat
-h
macht die Ausgabe für den Menschen lesbar (dh Dateigrößen werden in KB, MB usw. angezeigt)
-t
Sortiert die Ausgabe, indem die zuletzt geänderte Datei zuerst platziert wird
head -6
zeigt 5 Dateien an, weil ls
die Blockgröße in der ersten Ausgabezeile gedruckt wird.
Ich denke, dies ist ein etwas eleganterer und möglicherweise nützlicherer Ansatz.
Beispielausgabe:
total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
Standardmäßig wird die ls -t
Ausgabe vom neuesten zum ältesten sortiert. Die Kombination der zu verwendenden Befehle hängt also davon ab, in welche Richtung die Ausgabe sortiert werden soll.
Verwenden Sie für die neuesten 5 Dateien, die vom neuesten zum ältesten geordnet sind head
, die ersten 5 Ausgabezeilen:
ls -t | head -n 5
Verwenden Sie für die neuesten 5 Dateien, die vom ältesten zum neuesten sortiert sind, den -r
Schalter, um ls
die Sortierreihenfolge umzukehren , und verwenden Sie tail
, um die letzten 5 Ausgabezeilen zu verwenden:
ls -tr | tail -n 5
ls -t
Listen Sie die Dateien nach Erstellungszeit nicht zuletzt geänderter Zeit auf. Verwenden ls -ltc
Sie diese Option, wenn Sie Dateien nach der letzten Änderungszeit vom letzten zum ersten (von oben nach unten) auflisten möchten. Um das letzte n aufzulisten:ls -ltc | head ${n}
-t sort by modification time, newest first
ls -lrt
könnte jemandem helfen.