Website-Suche

So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -uhrzeit in Linux


Normalerweise haben wir die Angewohnheit, viele Informationen in Form von Dateien auf unserem System zu speichern. Einige sind versteckte Dateien, andere werden in einem separaten Ordner aufbewahrt, der zu unserem besseren Verständnis erstellt wurde, während andere so sind, wie er ist. Aber dieses ganze Zeug füllt unsere Verzeichnisse; Normalerweise Desktop, so dass es wie ein Chaos aussieht. Das Problem tritt jedoch auf, wenn wir in dieser riesigen Sammlung nach einer bestimmten Datei suchen müssen, die an einem bestimmten Datum und zu einer bestimmten Uhrzeit geändert wurde.

Leute, die mit GUIs vertraut sind, können es mit dem Dateimanager finden, der Dateien im langen Listenformat auflistet, was es leicht macht, herauszufinden, was wir wollten, aber diejenigen Benutzer, die die Gewohnheit haben, schwarze Bildschirme zu verwenden, oder sogar jeder, der auf Servern arbeitet, die keine GUIs haben, würden einen einfachen Befehl oder eine Reihe von Befehlen wünschen, die ihre Suche erleichtern könnten.

Die wahre Schönheit von Linux zeigt sich hier, da Linux eine Sammlung von Befehlen hat, die, wenn sie einzeln oder zusammen verwendet werden, helfen können, nach einer Datei zu suchen oder eine Sammlung von Dateien nach ihrem Namen, dem Änderungsdatum, der Zeit der Erstellung oder sogar jedem 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 helfen können, eine Datei oder sogar eine Liste von Dateien nach Datum und Uhrzeit zu sortieren.

Linux-Dienstprogramme zum Sortieren von Dateien unter Linux

Einige grundlegende Linux-Befehlszeilenprogramme, die gerade ausreichen, um ein Verzeichnis nach Datum und Uhrzeit 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 auflisten, einschließlich: Datum und Uhrzeit der Änderung oder des Zugriffs, Berechtigungen, Größe, Besitzer, Gruppe usw.

Wir haben bereits viele Artikel über Linux ls command und sort command behandelt, die Sie unten finden:

  1. Lernen Sie ls Command mit 15 grundlegenden Beispielen
  2. Lernen Sie 7 fortgeschrittene ls-Befehle mit Beispielen kennen
  3. 15 nützliche Fragen im Vorstellungsgespräch zum Befehl ls in Linux

Befehl "Sortieren"

sort – Dieser Befehl kann verwendet werden, um die Ausgabe einer Suche nur nach einem beliebigen Feld oder einer bestimmten Spalte des Feldes zu sortieren.

Wir haben bereits zwei Artikel über den Linux-Sortierbefehl behandelt, die Sie unten finden können:

  1. 14 Linux-Beispiele für 'sort'-Befehle – Teil 1
  2. 7 nützliche Linux-Beispiele für 'sort'-Befehle – Teil 2

Diese Befehle sind an sich sehr mächtige Befehle, die Sie beherrschen sollten, wenn Sie auf schwarzen Bildschirmen arbeiten und mit vielen Dateien umgehen müssen, nur um die gewünschte zu bekommen.

Einige Möglichkeiten, Dateien nach Datum und Uhrzeit zu sortieren

Nachfolgend finden Sie eine Liste der Befehle, die nach Datum und Uhrzeit sortiert werden sollen.

1. Listen Sie Dateien basierend auf der Änderungszeit auf

Der folgende Befehl listet Dateien im Longlisting-Format auf und sortiert die Dateien nach Änderungszeit, wobei die neuesten zuerst sortiert werden. Um in umgekehrter Reihenfolge zu sortieren, verwenden Sie 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. Listen Sie Dateien basierend auf der letzten Zugriffszeit auf

Auflistung der Dateien im Verzeichnis basierend auf der Zeit des letzten Zugriffs, d.h. basierend auf dem Zeitpunkt, zu dem die Datei zuletzt aufgerufen wurde, nicht auf der Änderung.

# 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. Auflisten von Dateien basierend auf dem Zeitpunkt der letzten Änderung

Auflistung der Dateien im Verzeichnis basierend auf dem Zeitpunkt der letzten Änderung 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 sie sogar die versteckten Dateien im aktuellen Verzeichnis auflisten und sortieren, und der Schalter '-r' listet die Ausgabe in umgekehrter Reihenfolge auf.

Für eine tiefergehende Sortierung, wie z.B. die Sortierung nach der Ausgabe des Befehls find, kann aber auch ls verwendet werden, aber dort erweist sich 'sort' als hilfreicher, da die Ausgabe nicht nur den Dateinamen enthalten kann, sondern alle vom Benutzer gewünschten Felder.

Die folgenden Befehle zeigen die Verwendung von sort with find Befehl, um die Liste der Dateien nach 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 auf die Datei zugegriffen wurde, und dann Dateiname. Von diesem Gesamtergebnis listen wir hier die 11 besten 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 mit key als erstem Feld, angegeben durch '-k1', und sortiert dann nach Monat, wie durch 'M' davor 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. Sortieren Sie Dateien nach Datum

Auch hier verwenden wir den Befehl find, um alle Dateien im Stammverzeichnis zu finden, aber jetzt drucken wir das Ergebnis wie folgt: letztes Datum, an dem auf die Datei zugegriffen wurde, letzter Zugriff auf die Datei und dann Dateiname. Davon nehmen wir die Top 11 Einträge heraus.

# 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" die 8. Spalte des ersten Feldes und "n" davor bedeutet numerische Sortierung, während "r" die Sortierung in umgekehrter Reihenfolge anzeigt.

# 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 nach Zeit

Auch hier verwenden wir den Befehl find, um die Top 11 Dateien im Stammverzeichnis aufzulisten und das Ergebnis im Format auszugeben: letzter Dateizugriff und dann Dateiname.

# 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 Feldes 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. Sortierung der Ouptut von ls -l basierend auf dem Datum

Dieser Befehl sortiert die Ausgabe des Befehls 'ls -l' basierend auf dem 6. Feld, monatsweise, dann basierend auf dem 7. Feld, das das Datum ist, numerisch.

# 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 mit einigen Kenntnissen des Sortierbefehls fast jede Auflistung basierend auf jedem Feld und sogar in jeder gewünschten Spalte sortieren. Dies waren einige der Tricks, die Ihnen helfen, Dateien nach Datum oder Uhrzeit zu sortieren. Du kannst deine eigenen Tricks darauf aufbauen lassen. Wenn Sie jedoch einen anderen interessanten Trick haben, können Sie diesen jederzeit in Ihren Kommentaren erwähnen.

Verwandte Artikel: