Kā atrast un kārtot failus, pamatojoties uz modifikācijas datumu un laiku Linux


Parasti mums ir paradums savā sistēmā saglabāt daudz informācijas failu formātā. Daži, slēptie faili, daži glabājas atsevišķā mapē, kas izveidota mūsu vieglākai izpratnei, bet daži tā, kā tas ir. Bet šī visa manta aizpilda mūsu direktorijus; parasti darbvirsmā, padarot to izskatās kā haoss. Bet problēma rodas, kad mums šajā milzīgajā kolekcijā ir jāmeklē noteikts fails, kas modificēts noteiktā datumā un laikā.

Cilvēki, kuriem patīk GUI, to var atrast, izmantojot failu pārvaldnieku, kurā faili tiek uzskaitīti garā saraksta formātā, ļaujot viegli saprast, ko mēs vēlamies, taču tie lietotāji, kuriem ir paradums izmantot melnus ekrānus, vai pat kāds, kurš strādā serveros, kuriem nav GUI, būtu vēlaties vienkāršu komandu vai komandu kopu, kas varētu atvieglot viņu meklēšanu.

Šeit redzams īsts Linux skaistums, jo Linux ir komandu kolekcija, kas, ja tiek izmantota atsevišķi vai kopā, var palīdzēt meklēt failu vai sakārtot failu kolekciju atbilstoši to nosaukumam, modifikācijas datumam, izveides laikam vai pat jebkuram citam. filtru, kuru varētu domāt piemērot, lai iegūtu rezultātu.

Šeit mēs atklāsim Linux patieso spēku, pārbaudot komandu kopu, kas var palīdzēt kārtot failu vai pat failu sarakstu pēc datuma un laika.

Utilities, lai kārtotu failus Linux

Daži pamata komandrindas utilīti, kas ir pietiekami, lai kārtotu direktoriju, pamatojoties uz datumu un laiku, ir:

ls - direktorija satura uzskaitījums, šī lietderība var uzskaitīt failus un direktorijus un pat uzskaitīt visu statusa informāciju par tiem, ieskaitot: modifikācijas vai piekļuves datumu un laiku, atļaujas, lielumu, īpašnieku, grupu utt.

Mēs jau esam apskatījuši daudzus rakstus par Linux ls komandu un šķirošanas komandu, tos varat atrast zemāk:

  1. Uzziniet komandu ls ar 15 pamatpiemēriem
  2. Uzziniet 7 iepriekšējās komandas ar piemēriem
  3. 15 noderīgi intervijas jautājumi par komandu ls Linux

kārtot - šo komandu var izmantot, lai kārtotu jebkuras meklēšanas rezultātu tikai pēc jebkura lauka vai jebkuras konkrētas lauka kolonnas.

Mēs jau esam apskatījuši divus rakstus par Linux sort komandu, tos varat atrast zemāk:

  1. 14 Linux ‘kārtošanas’ komandu piemēri - 1. daļa
  2. 7 noderīgi Linux ‘kārtošanas’ komandu piemēri - 2. daļa

Šīs komandas pašas par sevi ir ļoti spēcīgas komandas, kas jāapgūst, ja strādājat melnos ekrānos un jums ir jātiek galā ar daudziem failiem, lai tikai iegūtu vajadzīgo.

Daži veidi, kā kārtot failus, izmantojot datumu un laiku

Zemāk ir saraksts ar komandām, kuras kārtot pēc datuma un laika.

Zemāk esošajā komandā ir uzskaitīti faili garā saraksta formātā un sakārtoti faili, pamatojoties uz modifikācijas laiku, vispirms jaunākais. Lai kārtotu apgrieztā secībā, izmantojiet slēdzi -r ar šo komandu.

# 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

Failu uzskaitīšana direktorijā, pamatojoties uz pēdējās piekļuves laiku, t.i., pamatojoties uz laiku, kad failam pēdējo reizi piekļuvis, nevis modificēts.

# 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

Failu saraksts direktorijā, pamatojoties uz faila statusa informācijas pēdējās modifikācijas laiku vai ctime . Šī komanda vispirms uzskaitīs šo failu, kura statusa informācija, piemēram, īpašnieks, grupa, atļaujas, lielums utt., Nesen tika mainīta.

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

Ja slēdzi -a izmanto ar iepriekš minētajām komandām, viņi var uzskaitīt un kārtot pat pašreizējā direktorijā esošos slēptos failus, savukārt slēdzis -r izvadi uzskaita apgrieztā secībā.

Padziļinātai kārtošanai, piemēram, komandas Output of find kārtošanai, var izmantot arī ls , taču tur sort izrādās noderīgāka, jo izvadē var nebūt tikai fails nosaukums, bet visi lietotāja vēlamie lauki.

Zemāk redzamās komandas parāda sort izmantošanu ar komandu find , lai kārtotu failu sarakstu, pamatojoties uz datumu un laiku.

Lai uzzinātu vairāk par meklēšanas komandu, izmantojiet šo saiti: 35 komandas praktiski piemēri

Šeit mēs izmantojam komandu find , lai atrastu visus failus saknes (‘/’) direktorijā un pēc tam rezultātu izdrukātu kā: mēnesis, kurā tika piekļūts failam, un pēc tam faila nosaukums. No šī pilnīgā rezultāta šeit ir uzskaitīti 11 labākie ieraksti.

# 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

Zemāk esošā komanda izkārto izvadi, izmantojot atslēgu kā pirmo lauku, ko norāda -k1 , un pēc tam tā tiek sakārtota mēnesī, kā norādījis M pirms tā.

# 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

Mēs atkal izmantojam komandu find , lai atrastu visus failus saknes direktorijā, bet tagad mēs izdrukāsim rezultātu: pēdējais datums, kad tika piekļūts failam, pēdējo reizi piekļuvis failam, un pēc tam faila nosaukums. No tā mēs izņemam 11 labākos ierakstus.

# 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

Tālāk norādītā kārtošanas komanda vispirms kārto, pamatojoties uz gada pēdējo ciparu, pēc tam kārtojot pēc mēneša pēdējā cipara apgrieztā secībā un visbeidzot - pēc pirmā lauka. Šeit ‘1.8’ nozīmē pirmā lauka 8. kolonnu un ‘n’ pirms tā nozīmē skaitlisko kārtošanu, savukārt ‘r’ norāda kārtību pēc apgrieztās kārtības.

# 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

Arī šeit mēs izmantojam komandu find , lai uzskaitītu 11 galvenos failus saknes direktorijā un izdrukātu rezultātu formātā: pēdējoreiz tika atvērts fails un pēc tam faila nosaukums.

# 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

Zemāk esošajā komandā produkcija tiek sakārtota, pamatojoties uz izejas pirmā lauka pirmo kolonnu, kas ir stundas pirmais cipars.

# 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

Šī komanda kārto ls -l komandas izvadi, balstoties uz 6. lauka mēnesi, pēc tam uz 7. lauku, kas ir datums, skaitliski.

# 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

Secinājums

Tāpat, zinot par kārtošanu komandu, jūs varat kārtot gandrīz visus ierakstus, pamatojoties uz jebkuru lauku un pat jebkuru vēlamo kolonnu. Šie bija daži triki, kas palīdzēja kārtot failus, pamatojoties uz datumu vai laiku. Pamatojoties uz tiem, jūs varat izveidot savus trikus. Tomēr, ja jums ir kāds cits interesants triks, to vienmēr varat pieminēt savos komentāros.