Kako najti in razvrstiti datoteke glede na datum in čas spremembe v Linuxu
Običajno imamo v našem sistemu veliko informacij v obliki datotek. Nekatere skrite datoteke, nekatere hranjene v ločeni mapi, ustvarjeni za lažje razumevanje, nekatere pa takšne kot so. Toda vse to zapolnjuje naše imenike; ponavadi namizje, zaradi česar je videti kot nered. Toda težava nastane, ko moramo v tej ogromni zbirki poiskati določeno datoteko, spremenjeno na določen datum in uro.
Ljudje, ki se prilegajo GUI-jem, ga lahko najdejo z upraviteljem datotek, ki datoteke navaja v obliki dolgega seznama, kar olajša ugotavljanje, kaj smo želeli, toda uporabniki, ki imajo navado črnih zaslonov, ali celo vsi, ki delajo na strežnikih, ki nimajo GUI-ja, bi želite preprost ukaz ali nabor ukazov, ki bi olajšali njihovo iskanje.
Tu se kaže resnična lepota Linuxa, saj ima Linux zbirko ukazov, ki lahko, če se uporabljajo ločeno ali skupaj, pomagajo poiskati datoteko ali razvrstiti zbirko datotek glede na njihovo ime, datum spremembe, čas ustvarjanja ali celo kateri koli filter, za katerega bi si lahko zamislili, da bi dobili svoj rezultat.
Tu bomo razkrili resnično moč Linuxa s preučitvijo nabora ukazov, ki lahko pomagajo pri razvrščanju datoteke ali celo seznama datotek po datumu in času.
Pripomočki za razvrščanje datotek v Linuxu
Nekateri osnovni pripomočki ukazne vrstice Linux, ki zadostujejo za razvrščanje imenika glede na datum in čas, so:
ls - Na seznamu vsebine imenika lahko ta pripomoček našteje datoteke in imenike ter celo vse informacije o stanju, vključno z njimi: datum in čas spremembe ali dostopa, dovoljenja, velikost, lastnik, skupina itd.
O članku Linux ls command and sort smo že zajeli številne članke, najdete jih spodaj:
- Naučite se ls Command s 15 osnovnimi primeri
- Naučite se 7 ukazov za napredno ls s primeri
- 15 uporabnih vprašanj za intervju o ukazu ls v Linuxu
sort - ta ukaz lahko uporabimo za razvrščanje rezultatov katerega koli iskanja samo po polju ali poljubnem stolpcu polja.
Že smo zajeli dva članka o ukazu za razvrščanje Linuxa, najdete jih spodaj:
- 14 Primeri ukazov za Linux za »razvrščanje« - 1. del
- 7 koristnih Linux-ovih primerov ukazov za razvrščanje - 2. del
Ti ukazi so sami po sebi zelo zmogljivi ukazi, ki jih lahko obvladate, če delate na črnih zaslonih in se morate spoprijeti z veliko datotekami, samo da dobite želeno.
Nekateri načini razvrščanja datotek z uporabo datuma in ure
Spodaj je seznam ukazov za razvrščanje glede na datum in čas.
Spodnji ukaz navaja datoteke v obliki dolgega seznama in razvršča datoteke glede na čas spreminjanja, najprej najnovejše. Če želite razvrščati v obratnem vrstnem redu, uporabite stikalo -r
s tem ukazom.
# 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
Seznam datotek v imeniku glede na čas zadnjega dostopa, tj. Glede na čas zadnjega dostopa do datoteke in ni bil spremenjen.
# 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
Seznam datotek v imeniku glede na čas zadnje spremembe podatkov o stanju datoteke ali ctime
. Ta ukaz bi najprej navedel tisto datoteko, katere informacije o stanju, kot so: lastnik, skupina, dovoljenja, velikost itd., So bile nedavno spremenjene.
# 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 ...
Če je z zgornjimi ukazi uporabljeno stikalo -a
, lahko seznam in razvrščanje celo skritih datotek v trenutnem imeniku, stikalo -r
pa izpisuje v obratnem vrstnem redu.
Za bolj poglobljeno razvrščanje, na primer razvrščanje po ukazu Izhod iskanja, se lahko uporabi tudi ls
, vendar je v pomoč sort
, saj izhod morda ne vsebuje samo datoteke ime, vendar vsa polja, ki jih želi uporabnik.
Spodaj ukazi prikazujejo uporabo sort
z ukazom find
za razvrščanje seznama datotek glede na datum in čas.
Če želite izvedeti več o ukazu find, sledite tej povezavi: 35 Praktični primeri ukaza 'find' v Linuxu
Tukaj z ukazom find
poiščemo vse datoteke v korenskem imeniku (‘/’)
, nato pa rezultat natisnemo kot: Mesec, v katerem je bila datoteka dostopna in nato ime datoteke. Od tega popolnega rezultata je tukaj naštetih 11 najboljših vnosov.
# 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
Spodnji ukaz razvrsti izhod z uporabo ključa kot prvo polje, določeno z -k1
, nato pa razvrsti na mesec, kot je določeno z M
pred njim.
# 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
Tu znova uporabljamo ukaz find
, da najdemo vse datoteke v korenskem imeniku, zdaj pa bomo rezultat natisnili kot: zadnji datum dostopa do datoteke, zadnjič dostop do datoteke in nato ime datoteke. Od tega izvlečemo 11 najboljših vnosov.
# 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
Spodnji ukaz za razvrščanje najprej razvrsti na podlagi zadnje številke leta, nato razvrsti na podlagi zadnje številke meseca v obratnem vrstnem redu in na koncu razvrsti na podlagi prvega polja. Tu „1,8“ pomeni 8. stolpec prvega polja, „n“ pred njim pa številčno razvrščanje, medtem ko „r“ pomeni razvrščanje v obratnem vrstnem redu.
# 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
Tu znova uporabimo ukaz find
, da v korenskem imeniku izpišemo 11 najboljših datotek in rezultat natisnemo v obliki: zadnjič dostop do datoteke in nato ime datoteke.
# 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
Spodnji ukaz razvrsti izhod na podlagi prvega stolpca prvega polja izhoda, ki je prva številka ure.
# 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
Ta ukaz številčno razvrsti izhod ukaza ls -l
na podlagi 6. polja, nato na podlagi 7. polja, ki je datum.
# 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
Zaključek
Z znanjem o ukazu za razvrščanje lahko razvrstite skoraj vsak seznam na podlagi katerega koli polja in celo katerega koli stolpca, ki ga želite. To je bilo nekaj trikov za lažje razvrščanje datotek glede na datum ali čas. Na podlagi teh lahko ustvarite svoje trike. Če pa imate še kakšen zanimiv trik, lahko to vedno omenite v svojih komentarjih.