Kuidas leida ja sortida faile muutmise kuupäeva ja kellaaja põhjal Linuxis


Tavaliselt on meil kombeks salvestada oma süsteemi failide kujul palju teavet. Mõned peidetud failid, mõned hoitakse meie mõistmise hõlbustamiseks loodud eraldi kaustas, teised aga sellisena, nagu see on. Kuid kogu see värk täidab meie katalooge; tavaliselt töölauale, mis muudab selle segaduseks. Kuid probleem tekib siis, kui peame otsima sellest tohutul hulgal konkreetset faili, mida on muudetud kindlal kuupäeval ja kellaajal.

GUI-ga rahul olevad inimesed leiavad selle failihalduri abil, mis loetleb failid pika loendi vormingus, tehes hõlpsasti aru, mida me tahtsime, kuid need kasutajad, kellel on harjumus mustad ekraanid, või isegi keegi, kes töötab serverites, kus GUI-d pole soovite lihtsat käsku või käskude komplekti, mis hõlbustaks nende otsingut.

Siin näitab Linuxi tõeline ilu, kuna Linuxil on käskude kogu, mis eraldi või koos kasutamisel võib aidata faili otsida või failide kogu sortida nende nime, muutmiskuupäeva, loomise aja või isegi mis tahes muu järgi oma tulemuse saamiseks võiksite mõelda.

Siin tutvustame Linuxi tõelist tugevust, uurides käskude komplekti, mis aitab faili või isegi failide loetelu kuupäeva ja kellaaja järgi sorteerida.

Linuxi utiliidid failide sortimiseks Linuxis

Mõned Linuxi käsurea utiliidid, millest piisab kataloogi sortimiseks kuupäeva ja kellaaja alusel, on:

ls - kataloogi sisu kuvamine, see utiliit võib loetleda failid ja kataloogid ning võib loetleda kogu nende olekuteabe, sealhulgas muutmise või juurdepääsu kuupäev ja kellaaeg, õigused, suurus, omanik, rühm jne.

Oleme juba käsitlenud paljusid artikleid Linuxi käsu ja sortimise käsu kohta, leiate need allpool:

  1. Õppige ls käsku 15 põhinäite abil
  2. Õppige näiteid 7 eelkäsku
  3. 15 kasulikku intervjuuküsimust Linuxi ls-käsu kohta

sort - seda käsku saab kasutada mis tahes otsingu väljundi sorteerimiseks mis tahes välja või konkreetse välja veeru järgi.

Oleme juba käsitlenud kahte artiklit Linuxi sortimiskäsu kohta, leiate need allpool:

  1. 14 Linuxi käsku "sortimine" - 1. osa
  2. 7 kasulikku Linuxi käsku "sortimine" - 2. osa

Need käsud on iseenesest väga võimsad käsud, mida hallata, kui töötate mustadel ekraanidel ja peate paljude failidega tegelema, lihtsalt selleks, et saada soovitud fail.

Mõned viisid failide sortimiseks kuupäeva ja kellaaja abil

Allpool on loetelu käskudest, mida sortida kuupäeva ja kellaaja alusel.

Allpool olev käsk loetleb pika loendi vormingus failid ja sorteerib failid muutmisaja põhjal, kõige uuemad. Vastupidises järjekorras sortimiseks kasutage selle käsuga lülitit -r .

# 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

Failide loetelu kataloogis põhineb viimase juurdepääsu ajal, s.t selle põhjal, millal faili viimati külastati, seda ei muudetud.

# 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

Failide loetelu kataloogis põhineb faili olekuteabe viimase muutmise ajal või ctime . See käsk loetleb kõigepealt selle faili, mille olekuteavet, näiteks: omanik, rühm, õigused, suurus jne, on hiljuti muudetud.

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

Kui ülaltoodud käskudega kasutatakse lülitit -a , saavad nad loendada ja sortida isegi praeguses kataloogis olevad peidetud failid ning lüliti -r loetleb väljundi vastupidises järjekorras.

Põhjalikuma sorteerimise jaoks, nagu näiteks käsu Output of sort sortimine, saab kasutada ka ls , kuid seal on sort kasulikum, kuna väljundil ei pruugi olla ainult fail nimi, kuid kõik kasutaja soovitud väljad.

Allpool toodud käsud näitavad faili loendi sortimiseks kuupäeva ja kellaaja alusel käsu sort kasutamist käsuga find .

Leidmiskäsu kohta lisateabe saamiseks järgige seda linki: 35 Linuxi käsu ‘find’ praktilised näited

Siin kasutame käsku find , et leida kõik failid juurkataloogist (’/’) ja seejärel printida tulemus järgmiselt: Kuu, millal faili juurde pääseti, ja seejärel failinimi. Sellest täielikust tulemusest loetleme siin 11 parimat kirjet.

# 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

Allpool olev käsk sorteerib väljundi, kasutades esimest välja, võtme abil, mille määrab -k1 , ja seejärel sordib kuu, nagu on määratletud selle ees M .

# 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

Siin kasutame jällegi kõigi failide leidmiseks juurkataloogist käsku find , kuid nüüd trükime tulemuse järgmiselt: faili juurde pääsemise viimane kuupäev, failile viimati juurdepääs ja seejärel failinimi. Sellest võtame välja 11 parimat kirjet.

# 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

Allpool olev sortimiskäsk sorteerib kõigepealt aasta viimase numbri alusel, seejärel kuu viimase numbri põhjal vastupidises järjekorras ja lõpuks esimese välja põhjal. Siin tähendab ‘1.8’ esimese välja 8. veergu ja selle ees olev n tähistab numbrilist sortimist, r ’aga vastupidises järjekorras sortimist.

# 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

Siin kasutame jällegi käsku find , et loetleda juurkataloogi 11 parimat faili ja printida tulemus formaadis: faili viimati kasutati ja seejärel failinimi.

# 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

Allpool olev käsk sorteerib väljundi väljundi esimese välja esimese veeru põhjal, mis on tunni esimene number.

# 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

See käsk sordib käsu ls -l väljundi vastavalt kuuele väljale, seejärel kuupäevaga 7. väljale, numbriliselt.

# 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

Järeldus

Samamoodi saate sorteerimiskäskude teadmisega sorteerida peaaegu kõiki kirjeid mis tahes välja ja isegi kõigi soovitud veergude põhjal. Need olid mõned nipid, mis aitavad teil faile kuupäeva või kellaaja järgi sortida. Nende põhjal saate lasta oma trikke üles ehitada. Kui teil on mõni muu huvitav trikk, võite seda alati oma kommentaarides mainida.