Wenn ich mich nicht irre, repräsentiert die Shell die Ausgabe von lsin mehreren Spalten, aber die Ausgabe von lswird an den folgenden Befehl mit jeweils 1 Datei / Verzeichnis weitergeleitet
Alex
das scheint der Fall zu sein. Schöne Vereinfachung.
Paul Rubel
3
Dies ignoriert die Summe an der Spitze:ls -1t | head -n 6 | tail -n 5
Ryan
1
Ich sehe keine Summe, aber wenn es eine gibt, würde das sicherlich funktionieren.
Paul Rubel
17
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
Dies ergibt die 5 ältesten. Sie müssen die Art (umkehren ls -tr) oder verwenden , headanstatt taildie neusten 5 zu erhalten.
Headbank
2
Standardmäßig wird die ls -tAusgabe 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 -rSchalter, um lsdie Sortierreihenfolge umzukehren , und verwenden Sie tail, um die letzten 5 Ausgabezeilen zu verwenden:
ls -tListen Sie die Dateien nach Erstellungszeit nicht zuletzt geänderter Zeit auf. Verwenden ls -ltcSie 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}
Auf welche Plattform / Version beziehen Sie sich? Können Sie einen Link bereitstellen? Ein Blick auf die Linux-Manpage ergibt das Gegenteil von dem, was Sie sagen: -t sort by modification time, newest first
ls -lrt
könnte jemandem helfen.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:
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
quelle
ls
in mehreren Spalten, aber die Ausgabe vonls
wird an den folgenden Befehl mit jeweils 1 Datei / Verzeichnis weitergeleitetls -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 wirdhead -6
zeigt 5 Dateien an, weills
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
quelle
Verwenden
tail
Befehl ein :quelle
ls -tr
) oder verwenden ,head
anstatttail
die neusten 5 zu erhalten.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:Verwenden Sie für die neuesten 5 Dateien, die vom ältesten zum neuesten sortiert sind, den
-r
Schalter, umls
die Sortierreihenfolge umzukehren , und verwenden Sietail
, um die letzten 5 Ausgabezeilen zu verwenden:quelle
ls -t
Listen Sie die Dateien nach Erstellungszeit nicht zuletzt geänderter Zeit auf. Verwendenls -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}
quelle
-t sort by modification time, newest first