Wéi fannt Dir Dateien op Basis vun Ännerungsdatum an Zäit am Linux


Normalerweis hu mir d'Gewunnecht vill Informatioun a Form vu Dateien op eisem System ze späicheren. E puer, verstoppte Dateien, e puer an engem getrennten Dossier gehale fir eis einfach ze verstoen, während e puer wéi et ass. Awer, dës ganz Saach fëllt eis Verzeichnisser; normalerweis Desktop, sou datt et ausgesäit wéi e Mess. Awer, de Problem entsteet wa mir no enger bestëmmter Datei musse sichen, déi op engem bestëmmten Datum an Zäit an dëser riseger Sammlung geännert gëtt.

D'Leit, déi bequem mat GUI's sinn, kënnen et mam File Manager fannen, deen Dateien am laange Listingformat oplëscht, wat et einfach mécht erauszefannen wat mir wollten, awer déi Benotzer déi d'Gewunnecht vu schwaarze Schiirme hunn, oder souguer iergendeen, déi op Serveren schafft, déi ouni GUI's sinn, wëllen en einfachen Kommando oder Set vu Kommandoen déi hir Sich erliichteren kënnen.

Richteg Schéinheet vu Linux weist hei, well Linux eng Sammlung vu Kommandoen huet, déi wann se separat oder zesummen benotzt kënne hëllefe fir eng Datei ze sichen, oder eng Sammlung vu Dateien no hirem Numm, Datum vun der Ännerung, Zäit vun der Schafung, oder souguer all Filter deen Dir kéint denken unzewenden fir Äert Resultat ze kréien.

Hei wäerte mir déi richteg Stäerkt vu Linux enthüllen andeems Dir eng Rei vu Kommandoen ënnersicht, déi hëllefe kënnen eng Datei ze sortéieren oder souguer eng Lëscht vu Dateien no Datum an Zäit.

Linux Utilities fir Dateien op Linux ze sortéieren

E puer Basis Linux Kommandozeil Utilities déi just genuch sinn fir e Verzeechnes baséiert op Datum an Zäit ze sortéieren sinn:

ls - D'Inhalter vum Verzeechnes oplëschten, dëst Utility kann d'Dateien an d'Verzeichnisser oplëschten a ka souguer all Statusinformatioun iwwer si oplëschten, dorënner: Datum an Zäit vun der Ännerung oder Zougang, Permissiounen, Gréisst, Besëtzer, Grupp etc.

Mir hu scho vill Artikelen iwwer Linux ls Kommando a Sort Kommando ofgedeckt, Dir kënnt se hei ënnen fannen:

  1. Léiert ls Command mat 15 Basis Beispiller
  2. Léiert 7 Advance ls Kommandoen mat Beispiller
  3. 15 Nëtzlech Interview Froen iwwer ls Command am Linux

sortéieren - Dëse Kommando kann benotzt ginn fir d'Ausgab vun all Sich just no all Feld oder enger bestëmmter Kolonn vum Feld ze sortéieren.

Mir hu schonn zwee Artikelen iwwer Linux Sort Kommando ofgedeckt, Dir kënnt se hei ënnen fannen:

  1. 14 Linux 'Sort' Kommando Beispiller - Deel 1
  2. 7 Nëtzlech Linux 'Sort' Kommando Beispiller - Deel 2

Dës Kommandoe sinn u sech ganz mächteg Kommandoen fir ze beherrschen wann Dir op schwaarze Schiirme schafft a mat vill Dateien ze dinn hutt, just fir deen ze kréien deen Dir wëllt.

E puer Weeër fir Dateien mat Datum an Zäit ze sortéieren

Drënner sinn d'Lëscht vun de Kommandoen fir ze sortéieren baséiert op Datum an Zäit.

De Kommando hei drënner lëscht Dateien am laange Listingformat, a sortéiert Dateien op Basis vun der Ännerungszäit, déi neist als éischt. Fir an ëmgedréint Uerdnung ze sortéieren, benotzt -r Schalter mat dësem Kommando.

# 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

Oplëschtung vun Dateien am Verzeechnes baséiert op der leschter Zougangszäit, dh baséiert op der Zäit wou d'Datei fir d'lescht accesséiert gouf, net geännert.

# 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

Oplëschtung vun Dateien am Verzeechnes baséiert op der leschter Ännerungszäit vun der Dateistatusinformatioun, oder der ctime. Dëse Kommando géif dës Datei als éischt oplëschten, deem seng Statusinformatioun wéi: Besëtzer, Grupp, Permissiounen, Gréisst etc viru kuerzem geännert gouf.

# 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
...

Wann -a Schalter mat uewe genannte Befehle benotzt gëtt, kënne se souguer déi verstoppte Dateien am aktuellen Verzeechnes lëschten an sortéieren, an -r Schalter lëscht den Ausgang an ëmgedréint Uerdnung.

Fir méi am-Déift Sortéierung, wéi Sortéieren op Output vum Find Kommando, kann awer och ls benotzt ginn, awer do Sort beweist méi hëllefräich well d'Ausgab vläicht net nëmmen Datei huet Numm awer all Felder déi vum Benotzer gewënscht sinn.

Ënner Kommandoen weisen d'Benotzung vum Sortéieren mam Kommando find fir d'Lëscht vun de Dateien op Basis vun Datum an Zäit ze sortéieren.

Fir méi iwwer Find Kommando ze léieren, befollegt dëse Link: 35 Praktesch Beispiller vu 'find' Kommando a Linux

Hei benotze mir find Kommando fir all Dateien am root ('/') Verzeechnes ze fannen an dann d'Resultat drécken als: Mount an deem de Fichier zougänglech war an dann den Dateinumm. Vun deem komplette Resultat, hei lëschte mir Top 11 Entréen.

# 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

De Kommando hei drënner sortéiert d'Output mam Schlëssel als éischt Feld, spezifizéiert duerch -k1 an dann sortéiert et op Mount wéi spezifizéiert vum M viraus.

# 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

Hei benotze mir erëm find Kommando fir all d'Fichier'en am Root-Verzeichnis ze fannen, awer elo drécke mir d'Resultat als: leschte Datum wou d'Datei zougeruff gouf, d'lescht Kéier wou d'Datei zougeruff gouf an dann den Dateinumm. Dovunner huelen mir Top 11 Entréen eraus.

# 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

Déi ënnescht Zort Kommando sortéiert als éischt op Basis vun der leschter Ziffer vum Joer, sortéiert dann op Basis vun der leschter Ziffer vum Mount an ëmgedréint Uerdnung a sortéiert endlech op Basis vum éischte Feld. Hei heescht '1.8' 8. Kolonn vum éischte Feld an 'n' virun et heescht numeresch Zort, während 'r' ëmgedréint Uerdnungssortéierung bezeechent.

# 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

Hei benotze mir erëm find Kommando fir Top 11 Dateien am Root Verzeechnes ze lëschten an d'Resultat am Format ze drécken: d'lescht Kéier gouf d'Datei zougänglech gemaach an dann den Dateinumm.

# 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

De Kommando hei drënner sortéiert d'Ausgab baséiert op der éischter Kolonn vum éischte Feld vun der Ausgang déi éischt Ziffer vun der Stonn ass.

# 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

Dëse Kommando sortéiert d'Ausgab vum ls -l Kommando baséiert op 6. Feld Mount weise, dann baséiert op 7. Feld dat Datum ass, numeresch.

# 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

Conclusioun

Ähnlech, andeems Dir e bësse Wëssen iwwer d'Sortbefehl hutt, kënnt Dir bal all Oplëschtung sortéieren op Basis vun all Feld a souguer seng all Kolonn déi Dir wëllt. Dëst waren e puer Tricken fir Iech ze hëllefen Dateien op Basis vun Datum oder Zäit ze sortéieren. Dir kënnt Är eegen Tricken bauen baséiert op dësen. Wéi och ëmmer, wann Dir en aneren interessanten Trick hutt, kënnt Dir dat ëmmer an Äre Kommentaren ernimmen.