it-swarm.com.de

Wie kann ich die 5 zuletzt geänderten Dateien in einem Verzeichnis auflisten?

Ich weiß ls -t listet alle Dateien nach Änderungszeit auf. Aber wie kann ich diese Ergebnisse auf die letzten n Dateien beschränken?

113
Ryan

Versuchen Sie es mit Kopf oder Schwanz. Wenn Sie die 5 zuletzt geänderten Dateien haben möchten:

ls -1t | head -5

Das -1 (das ist eine Eins) sagt eine Datei pro Zeile und der Kopf sagt, nehmen Sie die ersten 5 Einträge.

Wenn Sie die letzten 5 wollen, versuchen Sie es

ls -1t | tail -5
208
Paul Rubel

Verwenden Sie den Befehl tail:

ls -t | tail -n 5
12
Alex

Die akzeptierte Antwort listet nur die Dateinamen auf, aber um die Top-5-Dateien zu erhalten, kann man auch Folgendes verwenden:

ls -lht | head -6

wo:

-l wird in einem Listenformat ausgegeben

-h macht die Ausgabe für den Menschen lesbar (d. h. 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, da ls die Blockgröße in der ersten Ausgabezeile ausgibt.

Ich halte dies für einen etwas eleganteren und möglicherweise nützlicheren Ansatz.

Beispielausgabe:

total 26960312 [email protected] 1 user staff 1.2K 11 Jan 11:22 phone2.7.py [email protected] 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf [email protected] 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf [email protected] 1 user staff 502K 8 Jan 10:20 lab-01.pdf [email protected] 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv

9
samisnotinsane

ls -t listet Dateien nach Erstellungszeit und nicht nach der letzten Änderungszeit auf. Verwenden ls -ltc wenn Sie Dateien nach dem letzten Änderungszeitpunkt vom Letzten zum Ersten (von oben nach unten) auflisten möchten. Um also das letzte n aufzulisten: ls -ltc | head ${n}

1
victrr