Normalerweise speichern wir viele Informationen in Form von Dateien auf unserem System. Einige versteckte Dateien, einige in einem separaten Ordner, der für unser Verständnis erstellt wurde, während einige so bleiben. Aber das ganze Zeug füllt unsere Verzeichnisse; normalerweise den Desktop, so dass es wie ein Durcheinander aussieht. Das Problem entsteht jedoch, wenn wir in dieser riesigen Sammlung nach einer bestimmten Datei suchen müssen, die an einem bestimmten Datum und zu einer bestimmten Zeit geändert wurde.

Personen, die mit GUIs vertraut sind, können sie mithilfe des Dateimanagers finden, der Dateien im Langformat auflistet und es leicht macht herauszufinden, was wir wollten, aber Benutzer, die sich an schwarze Bildschirme gewöhnt haben, oder sogar jeder, der an Servern arbeitet, die ohne GUIs auskommen, würden gerne einen einfachen Befehl oder eine Befehlsfolge haben, die ihre Suche erleichtern könnte.
Hier zeigt sich die wahre Schönheit von Linux, da Linux eine Sammlung von Befehlen hat, die separat oder zusammen verwendet werden können, um nach einer Datei zu suchen oder eine Sammlung von Dateien nach ihrem Namen, Änderungsdatum, Erstellungszeit oder sogar nach einem beliebigen Filter zu sortieren, den Sie anwenden könnten, um Ihr Ergebnis zu erhalten.
Hier werden wir die wahre Stärke von Linux enthüllen, indem wir eine Reihe von Befehlen untersuchen, die beim Sortieren einer Datei oder sogar einer Liste von Dateien nach Datum und Zeit helfen können.
Linux-Dienstprogramme zum Sortieren von Dateien in Linux
Einige grundlegende Linux-Befehlszeilen-Dienstprogramme, die ausreichen, um ein Verzeichnis nach Datum und Zeit zu sortieren, sind:
ls-Befehl
ls – Auflisten des Inhalts des Verzeichnisses, dieses Dienstprogramm kann die Dateien und Verzeichnisse auflisten und sogar alle Statusinformationen über sie einschließlich: Datum und Uhrzeit der Änderung oder des Zugriffs, Berechtigungen, Größe, Besitzer, Gruppe usw.
Wir haben bereits viele Artikel zum Linux ls-Befehl und sort-Befehl behandelt, Sie finden sie unten:
- ls-Befehl mit 15 grundlegenden Beispielen lernen
- 7 fortgeschrittene ls-Befehle mit Beispielen lernen
- 15 nützliche Interviewfragen zum ls-Befehl in Linux
sort-Befehl
sort – Dieser Befehl kann verwendet werden, um die Ausgabe einer Suche einfach nach einem beliebigen Feld oder einer bestimmten Spalte des Feldes zu sortieren.
Wir haben bereits zwei Artikel zum Linux sort-Befehl behandelt, Sie finden sie unten:
Diese Befehle sind an sich sehr leistungsstarke Befehle, die man beherrschen sollte, wenn man mit schwarzen Bildschirmen arbeitet und mit vielen Dateien umgehen muss, nur um diejenige zu bekommen, die man möchte.
Einige Möglichkeiten, Dateien nach Datum und Uhrzeit zu sortieren
Hier sind die Befehle zur Sortierung nach Datum und Uhrzeit.
1. Dateien basierend auf Änderungszeit auflisten
Der folgende Befehl listet Dateien im Langformat auf und sortiert Dateien nach Änderungszeit, zuerst die neuesten. Verwenden Sie zum Umkehren den Schalter '-r'
mit diesem Befehl.
# ls -lt total 673768 -rwxr----- 1 tecmint tecmint 3312130 Jan 19 15:24 When You Are Gone.MP3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony-1.mp3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony.mp3 -rwxr----- 1 tecmint tecmint 6629090 Jan 19 15:24 Westlife_Tonight.MP3 -rwxr----- 1 tecmint tecmint 3448832 Jan 19 15:24 We Are The World by USA For Africa (Michael Jackson).mp3 -rwxr----- 1 tecmint tecmint 8580934 Jan 19 15:24 This Love.mp3 -rwxr----- 1 tecmint tecmint 2194832 Jan 19 15:24 The Cross Of Changes.mp3 -rwxr----- 1 tecmint tecmint 5087527 Jan 19 15:24 T.N.T. For The Brain 5.18.mp3 -rwxr----- 1 tecmint tecmint 3437100 Jan 19 15:24 Summer Of '69.MP3 -rwxr----- 1 tecmint tecmint 4360278 Jan 19 15:24 Smell Of Desire.4.32.mp3 -rwxr----- 1 tecmint tecmint 4582632 Jan 19 15:24 Silence Must Be Heard 4.46.mp3 -rwxr----- 1 tecmint tecmint 4147119 Jan 19 15:24 Shadows In Silence 4.19.mp3 -rwxr----- 1 tecmint tecmint 4189654 Jan 19 15:24 Sarah Brightman & Enigma - Eden (remix).mp3 -rwxr----- 1 tecmint tecmint 4124421 Jan 19 15:24 Sade - Smooth Operator.mp3 -rwxr----- 1 tecmint tecmint 4771840 Jan 19 15:24 Sade - And I Miss You.mp3 -rwxr----- 1 tecmint tecmint 3749477 Jan 19 15:24 Run To You.MP3 -rwxr----- 1 tecmint tecmint 7573679 Jan 19 15:24 Roger Sanchez_Another Chance_Full_Mix.mp3 -rwxr----- 1 tecmint tecmint 3018211 Jan 19 15:24 Principal Of Lust.3.08.mp3 -rwxr----- 1 tecmint tecmint 5688390 Jan 19 15:24 Please Forgive Me.MP3 -rwxr----- 1 tecmint tecmint 3381827 Jan 19 15:24 Obvious.mp3 -rwxr----- 1 tecmint tecmint 5499073 Jan 19 15:24 Namstey-London-Viraaniya.mp3 -rwxr----- 1 tecmint tecmint 3129210 Jan 19 15:24 MOS-Enya - Only Time (Pop Radio mix).m
2. Dateien basierend auf letztem Zugriffszeitpunkt auflisten
Auflistung von Dateien im Verzeichnis basierend auf dem Zeitpunkt des letzten Zugriffs, d.h. basierend auf dem Zeitpunkt, an dem die Datei zuletzt zugegriffen wurde, nicht geändert.
# ls -ltu total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Linux-ISO drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Music-Player drwx------ 3 tecmint tecmint 4096 Jan 19 15:22 tor-browser_en-US drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 bin drwxr-xr-x 11 tecmint tecmint 4096 Jan 19 15:22 Android Games drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Songs drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 renamefiles drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 katoolin-master drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Tricks drwxr-xr-x 3 tecmint tecmint 4096 Jan 19 15:22 Linux-Tricks drwxr-xr-x 6 tecmint tecmint 4096 Jan 19 15:22 tuptime drwxr-xr-x 4 tecmint tecmint 4096 Jan 19 15:22 xdm drwxr-xr-x 2 tecmint tecmint 20480 Jan 19 15:22 ffmpeg usage drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 xdm-helper
3. Dateien basierend auf dem letzten Änderungszeitpunkt auflisten
Auflistung von Dateien im Verzeichnis basierend auf dem letzten Änderungszeitpunkt der Statusinformationen der Datei oder der 'ctime'
. Dieser Befehl listet zuerst die Datei auf, deren Statusinformationen wie: Besitzer, Gruppe, Berechtigungen, Größe usw. kürzlich geändert wurden.
# ls -ltc total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 13:05 img -rw------- 1 tecmint tecmint 262191 Jan 19 12:15 tecmint.jpeg drwxr-xr-x 5 tecmint tecmint 4096 Jan 19 10:57 Desktop drwxr-xr-x 7 tecmint tecmint 12288 Jan 18 16:00 Downloads drwxr-xr-x 13 tecmint tecmint 4096 Jan 18 15:36 VirtualBox VMs -rwxr-xr-x 1 tecmint tecmint 691 Jan 13 14:57 special.sh -rw-r--r-- 1 tecmint tecmint 654325 Jan 4 16:55 powertop-2.7.tar.gz.save -rw-r--r-- 1 tecmint tecmint 654329 Jan 4 11:17 filename.tar.gz drwxr-xr-x 3 tecmint tecmint 4096 Jan 4 11:04 powertop-2.7 -rw-r--r-- 1 tecmint tecmint 447795 Dec 31 14:22 Happy-New-Year-2016.jpg -rw-r--r-- 1 tecmint tecmint 12 Dec 18 18:46 ravi -rw-r--r-- 1 tecmint tecmint 1823 Dec 16 12:45 setuid.txt ...
Wenn der Schalter '-a'
mit den obigen Befehlen verwendet wird, können auch die versteckten Dateien im aktuellen Verzeichnis aufgelistet und sortiert werden, und der Schalter '-r'
listet die Ausgabe in umgekehrter Reihenfolge auf.
Für eine genauere Sortierung, wie die Sortierung basierend auf der Ausgabe des find-Befehls, kann jedoch auch ls
verwendet werden, aber dort erweist sich 'sort'
als hilfreicher, da die Ausgabe nicht nur den Dateinamen, sondern auch beliebige vom Benutzer gewünschte Felder enthalten kann.
Die folgenden Befehle zeigen die Verwendung von sort
mit dem Befehl find
, um die Liste der Dateien basierend auf Datum und Uhrzeit zu sortieren.
Um mehr über den Befehl find zu erfahren, folgen Sie diesem Link: 35 praktische Beispiele für den Befehl „find“ in Linux
4. Sortieren von Dateien nach Monat
Hier verwenden wir den Befehl find
, um alle Dateien im Stammverzeichnis (‚/‘)
zu finden und dann das Ergebnis wie folgt auszugeben: Monat, in dem die Datei zugegriffen wurde, und dann Dateiname. Von diesem vollständigen Ergebnis listen wir hier die top 11 Einträge auf.
# find / -type f -printf "\n%Ab %p" | head -n 11 Dec /usr/lib/nvidia/pre-install Dec /usr/lib/libcpufreq.so.0.0.0 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libcdr-0.0.so.0.0.15 Dec /usr/lib/msttcorefonts/update-ms-fonts Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn
Der folgende Befehl sortiert die Ausgabe, wobei der Schlüssel das erste Feld ist, wie durch '-k1'
angegeben, und sortiert dann nach Monat, wie durch 'M'
angegeben.
# find / -type f -printf "\n%Ab %p" | head -n 11 | sort -k1M Apr /usr/lib/libcdr-0.0.so.0.0.15 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn Dec /usr/lib/libcpufreq.so.0.0.0 Dec /usr/lib/msttcorefonts/update-ms-fonts Dec /usr/lib/nvidia/pre-install
5. Dateien nach Datum sortieren
Hier verwenden wir erneut den Befehl find
, um alle Dateien im Stammverzeichnis zu finden, aber jetzt geben wir das Ergebnis aus als: letztes Datum, an dem die Datei zugegriffen wurde, letzte Uhrzeit, zu der die Datei zugegriffen wurde, und dann Dateiname. Davon nehmen wir die top 11 Einträge.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
Der folgende Sortierbefehl sortiert zuerst nach der letzten Ziffer des Jahres, dann nach der letzten Ziffer des Monats in umgekehrter Reihenfolge und schließlich nach dem ersten Feld. Hier bedeutet „1.8“, dass die 8. Spalte des ersten Feldes ist und ‘n’ davor bedeutet numerische Sortierung, während ‘r’ eine umgekehrte Sortierung angibt.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 | sort -k1.8n -k1.1nr -k1 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
6. Sortieren von Dateien basierend auf der Uhrzeit
Hier verwenden wir erneut den Befehl find
, um die Top 11 Dateien im Stammverzeichnis aufzulisten und das Ergebnis im Format „letzter Zugriff auf die Datei und dann Dateiname“ auszugeben.
# find / -type f -printf "\n%AT %p" | head -n 11 11:30:38.0000000000 /usr/lib/nvidia/pre-install 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
Der folgende Befehl sortiert die Ausgabe basierend auf der ersten Spalte des ersten Felds der Ausgabe, die die erste Ziffer der Stunde ist.
# find / -type f -printf "\n%AT %p" | head -n 11 | sort -k1.1n 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
7. Sortieren der Ausgabe von ls -l basierend auf Datum
Dieser Befehl sortiert die Ausgabe des Befehls 'ls -l'
monatsweise basierend auf dem 6. Feld und dann basierend auf dem 7. Feld, das das Datum numerisch darstellt.
# ls -l | sort -k6M -k7n total 116 -rw-r--r-- 1 root root 0 Oct 1 19:51 backup.tgz drwxr-xr-x 2 root root 4096 Oct 7 15:27 Desktop -rw-r--r-- 1 root root 15853 Oct 7 15:19 powertop_report.csv -rw-r--r-- 1 root root 79112 Oct 7 15:25 powertop.html -rw-r--r-- 1 root root 0 Oct 16 15:26 file3 -rw-r--r-- 1 root root 13 Oct 16 15:17 B -rw-r--r-- 1 root root 21 Oct 16 15:16 A -rw-r--r-- 1 root root 64 Oct 16 15:38 C
Schlussfolgerung
Ebenso können Sie durch Kenntnisse des Befehls sort fast jede Auflistung basierend auf einem beliebigen Feld und sogar auf einer beliebigen gewünschten Spalte sortieren. Dies waren einige Tricks, um Ihnen beim Sortieren von Dateien basierend auf Datum oder Uhrzeit zu helfen. Sie können Ihre eigenen Tricks basierend darauf entwickeln. Wenn Sie jedoch einen anderen interessanten Trick haben, können Sie diesen immer in Ihren Kommentaren erwähnen.
Source:
https://www.tecmint.com/find-and-sort-files-modification-date-and-time-in-linux/