Kaip rasti ir rūšiuoti failus pagal modifikavimo datą ir laiką sistemoje „Linux“.


Paprastai mes esame įpratę savo sistemoje išsaugoti daug informacijos failų pavidalu. Kai kurie, paslėpti failai, kai kurie saugomi atskirame aplanke, sukurtame mums, kad būtų lengviau suprasti, o kai kurie tokie, kokie yra. Tačiau visa tai užpildo mūsų katalogus; dažniausiai darbalaukyje, todėl atrodo kaip netvarka. Tačiau problema kyla, kai šioje didžiulėje kolekcijoje turime ieškoti konkretaus failo, modifikuoto tam tikrą dieną ir laiku.

Žmonės, kuriems patinka GUI, gali jį rasti naudodami failų tvarkyklę, kurioje pateikiami failų sąrašai ilgo sąrašo formatu, kad būtų lengva suprasti, ko norėjome, tačiau tie vartotojai, kurie yra įpratę naudoti juodus ekranus, ar net visi dirbantys serveriuose, kuriuose nėra GUI nori paprastos komandos arba komandų rinkinio, kuris palengvintų paiešką.

Čia atsiskleidžia tikrasis Linux grožis, nes Linux turi komandų rinkinį, kuris, jei naudojamas atskirai arba kartu, gali padėti ieškoti failo arba rūšiuoti rinkmenų rinkinį pagal pavadinimą, modifikavimo datą, sukūrimo laiką ar net bet kurį kitą. filtrą, kurį galėtumėte pritaikyti, kad gautumėte rezultatą.

Čia mes atskleisime tikrąją „Linux“ jėgą, išnagrinėdami komandų rinkinį, kuris gali padėti rūšiuoti failą ar net failų sąrašą pagal datą ir laiką.

„Linux“ priemonės, skirtos failams rūšiuoti „Linux“.

Kai kurios pagrindinės „Linux“ komandų eilutės priemonės, kurių pakanka rūšiuoti katalogą pagal datą ir laiką, yra šios:

ls komanda

ls – išvardija katalogo turinį, ši programa gali išvardyti failus ir katalogus ir netgi gali pateikti visą jų būsenos informaciją, įskaitant: modifikavimo ar prieigos datą ir laiką, leidimus, dydį, savininką, grupę ir kt. .

Jau aprašėme daugybę straipsnių apie Linux ls komandą ir komandą rūšiuoti. Juos rasite toliau:

  1. Išmokite ls komandą naudodami 15 pagrindinių pavyzdžių
  2. Išmokite 7 Advance ls komandas su pavyzdžiais
  3. 15 naudingų interviu klausimų apie ls komandą Linux sistemoje

rūšiavimo komanda

rūšiuoti – šią komandą galima naudoti norint rūšiuoti bet kurios paieškos išvestį pagal bet kurį lauką arba bet kurį konkretų lauko stulpelį.

Jau apžvelgėme du straipsnius apie Linux rūšiavimo komandą. Juos rasite toliau:

  1. 14 „Linux“ „rūšiavimo“ komandų pavyzdžių – 1 dalis
  2. 7 naudingi „Linux“ „rūšiavimo“ komandų pavyzdžiai – 2 dalis

Šios komandos savaime yra labai galingos komandos, kurias reikia valdyti, jei dirbate juoduose ekranuose ir turite tvarkyti daug failų, kad gautumėte norimą.

Kai kurie failų rūšiavimo būdai naudojant datą ir laiką

Žemiau pateikiamas komandų, kurias reikia rūšiuoti pagal datą ir laiką, sąrašas.

1. Pateikite failų sąrašą pagal modifikavimo laiką

Žemiau esančioje komandoje pateikiami failai ilgo sąrašo formatu ir rūšiuojami pagal modifikavimo laiką, pirmiausia naujausi. Norėdami rūšiuoti atvirkštine tvarka, su šia komanda naudokite jungiklį '-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

2. Failų sąrašas pagal paskutinę prieigos laiką

Failų sąrašas kataloge pagal paskutinį prieigos laiką, t. y. pagal laiką, kai failas buvo paskutinį kartą pasiektas, o ne modifikuotas.

# 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. Pateikite failų sąrašą pagal paskutinio keitimo laiką

Failų sąrašas kataloge pagal paskutinį failo būsenos informacijos modifikavimo laiką arba 'ctime'. Ši komanda pirmiausia nurodys tą failą, kurio bet kokia būsenos informacija, pvz., savininkas, grupė, leidimai, dydis ir tt neseniai buvo pakeista.

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

Jei jungiklis '-a' naudojamas su aukščiau pateiktomis komandomis, jos gali išvardyti ir rūšiuoti net paslėptus failus dabartiniame kataloge, o jungiklis '-r' pateikia išvestį atvirkščiai įsakymas.

Išsamesniam rūšiavimui, pvz., rūšiavimui pagal komandos rasti išvestį, tačiau taip pat galima naudoti ls, bet ten 'rūšiuoti ' yra naudingesnis, nes išvestyje gali būti ne tik failo pavadinimas, bet ir visi vartotojo pageidaujami laukai.

Toliau pateiktose komandose rodomas sort su komanda find naudojimas, siekiant rūšiuoti failų sąrašą pagal datą ir laiką.

Norėdami sužinoti daugiau apie komandą rasti, spustelėkite šią nuorodą: 35 praktiniai „rasti“ komandos „Linux“ pavyzdžiai

4. Failų rūšiavimas pagal mėnesį

Čia mes naudojame komandą find, kad surastume visus failus šakniniame kataloge ('/') ir išspausdintume rezultatą kaip: Mėnuo kuriame faile buvo pasiektas ir tada failo pavadinimas. Iš viso rezultato pateikiame geriausių 11 įrašų.

# 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

Toliau pateikta komanda rūšiuoja išvestį naudojant raktą kaip pirmąjį lauką, nurodytą '-k1', o tada ji rūšiuoja pagal mėnesį, kaip nurodyta prieš jį '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

5. Rūšiuokite failus pagal datą

Čia vėl naudojame komandą find, kad surastume visus failus šakniniame kataloge, bet dabar išspausdinsime rezultatą taip: paskutinė data, kai failas buvo pasiektas, paskutinis laikas, kai failas buvo pasiektas, tada failo pavadinimas. Iš jų išimame 11 geriausių įrašų.

# 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

Žemiau pateikta rūšiavimo komanda pirmiausia rūšiuojama pagal paskutinį metų skaitmenį, tada rūšiuojama pagal paskutinį mėnesio skaitmenį atvirkštine tvarka ir galiausiai rūšiuojama pagal pirmąjį lauką. Čia „1,8“ reiškia 8-ą pirmojo lauko stulpelį, o n“ prieš jį reiškia rūšiavimą pagal skaičių, o r“ reiškia atvirkštinę tvarką rūšiavimas.

# 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. Failų rūšiavimas pagal laiką

Čia vėl naudojame komandą find, kad pateiktume 11 populiariausių failų šakniniame kataloge ir išspausdintume rezultatą tokiu formatu: paskutinį kartą buvo pasiektas failas ir tada failo pavadinimas.

# 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

Žemiau pateikta komanda rūšiuoja išvestį pagal pirmąjį išvesties lauko, kuris yra pirmasis valandos skaitmuo, pirmąjį stulpelį.

# 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. Ls -l rezultatų rūšiavimas pagal datą

Ši komanda rūšiuoja komandos 'ls -l' išvestį pagal 6-ąjį lauką pagal mėnesį, tada pagal 7-ąjį lauką, kuris yra data, skaičiais.

# 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

Išvada

Taip pat, turėdami šiek tiek žinių apie komandą rūšiuoti, galite rūšiuoti beveik bet kurį sąrašą pagal bet kurį lauką ir net bet kurį norimą stulpelį. Tai buvo keletas gudrybių, padedančių rūšiuoti failus pagal datą arba laiką. Remdamiesi jais, galite sukurti savo triukus. Tačiau jei turite kokių nors kitų įdomių triukų, visada galite tai paminėti savo komentaruose.