Weboldal keresés

Fájlok keresése és rendezése a módosítás dátuma és ideje alapján Linuxban


Általában az a szokásunk, hogy sok információt fájlok formájában mentünk el a rendszerünkön. Némelyik rejtett fájl, néhány külön mappában tárolva a könnyebb érthetőség érdekében, míg mások úgy, ahogy van. De ez az egész cucc kitölti a könyvtárainkat; általában asztali, így úgy néz ki, mint egy rendetlenség. A probléma azonban akkor merül fel, ha egy adott dátumon és időpontban módosított fájlt kell keresnünk ebben a hatalmas gyűjteményben.

A grafikus felhasználói felületeket jól ismerő emberek megtalálhatják a Fájlkezelő segítségével, amely hosszú listás formátumban listázza ki a fájlokat, így könnyen kitalálható, hogy mit akarunk, de azok a felhasználók, akiknek szokásuk a fekete képernyő, vagy akár bárki, aki olyan szerveren dolgozik, amelyen nincs grafikus felület. egyszerű parancsot vagy parancskészletet szeretne, amely megkönnyíti a keresést.

A Linux igazi szépsége itt is megmutatkozik, mivel a Linux parancsok gyűjteményével rendelkezik, amelyeket külön-külön vagy együtt használva segíthet a fájl keresésében, vagy a fájlok gyűjteményének rendezésében a nevük, a módosítás dátuma, a létrehozás időpontja vagy akár más alapján. szűrőt, amelyet érdemes alkalmazni az eredmény elérése érdekében.

Itt bemutatjuk a Linux valódi erejét, és megvizsgálunk egy sor parancsot, amelyek segíthetnek a fájlok vagy akár a fájlok listájának rendezésében Dátum és Idő szerint.

Linux segédprogramok fájlok rendezéséhez Linux alatt

Néhány alapvető Linux parancssori segédprogram, amely éppen elegendő a könyvtárak Dátum és Idő alapján történő rendezéséhez:

ls parancsot

ls – A könyvtár tartalmának listázása, ez a segédprogram listázhatja a fájlokat és könyvtárakat, sőt felsorolhatja az összes állapotinformációt is, beleértve: módosítás vagy hozzáférés dátuma és időpontja, engedélyek, méret, tulajdonos, csoport stb. .

Számos cikket írtunk már a Linux ls parancsról és sort parancsról, ezeket alább találja meg:

  1. Tanulja meg az ls parancsot 15 alapvető példával
  2. Tanuljon meg 7 Advance ls parancsot példákkal
  3. 15 hasznos interjúkérdés az ls Commandról Linuxban

rendezési parancs

rendezés – Ezzel a paranccsal bármilyen keresés kimenetét lehet rendezni, tetszőleges mező vagy a mező bármely oszlopa szerint.

Már két cikket írtunk a Linux rendezési parancsáról, ezeket alább találja:

  1. 14 Linux „sort” parancspélda – 1. rész
  2. 7 hasznos Linux „rendezési” parancs példa – 2. rész

Ezek a parancsok önmagukban nagyon hatékony parancsok, amelyeket akkor lehet elsajátítani, ha fekete képernyőn dolgozik, és sok fájllal kell foglalkoznia, csak hogy elérje a kívántat.

A fájlok rendezésének néhány módja a dátum és idő használatával

Alább látható a dátum és idő alapján rendezendő parancsok listája.

1. Fájlok listázása a módosítási idő alapján

Az alábbi parancs hosszú listás formátumban listázza ki a fájlokat, és a módosítási idő alapján rendezi a fájlokat, a legújabbat először. Fordított sorrendbe rendezéshez használja a '-r' kapcsolót ezzel a paranccsal.

# 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. Fájlok listázása az utolsó hozzáférési idő alapján

A könyvtárban lévő fájlok listázása az utolsó hozzáférési idő alapján, azaz a fájl legutóbbi elérési ideje alapján, nem módosítva.

# 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. Listázza ki a fájlokat az utolsó módosítási idő alapján

A fájlok listázása a könyvtárban a fájl állapotinformációinak utolsó módosítási ideje vagy a 'ctime' alapján. Ez a parancs azt a fájlt jeleníti meg először, amelynek állapotinformációi, például: tulajdonos, csoport, engedélyek, méret stb. nemrég megváltoztak.

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

Ha a '-a' kapcsolót a fenti parancsokkal együtt használjuk, akkor még az aktuális könyvtár rejtett fájljait is listázhatják és rendezhetik, a '-r' kapcsoló pedig fordított sorrendben jeleníti meg a kimenetet. rendelés.

A részletesebb rendezés érdekében, például a find parancs Kimenetén, de az ls is használható, de ott a 'rendezés ' hasznosabbnak bizonyul, mivel a kimenetnek nem csak fájlneve van, hanem a felhasználó által kívánt mezők is.

Az alábbi parancsok a sort és a find parancs használatát mutatják be a fájlok listájának Dátum és Idő alapján történő rendezéséhez.

Ha többet szeretne megtudni a find parancsról, kövesse ezt a hivatkozást: 35 gyakorlati példa a „find” parancsra Linuxban

4. Fájlok rendezése hónap alapján

Itt a find paranccsal megkeressük az összes fájlt a ('/') gyökérkönyvtárban, majd kinyomtatjuk az eredményt: Hónap, amelyben a fájl elérte, majd a fájlnév. Ebből a teljes eredményből itt felsoroljuk a legjobb 11 bejegyzést.

# 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

Az alábbi parancs a kimenetet a kulcs mint első mező használatával rendezi, amelyet a '-k1' ad meg, majd az előtte lévő 'M' által megadott hónap szerint rendezi.

# 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. Fájlok rendezése dátum alapján

Itt is a find parancsot használjuk, hogy megkeressük az összes fájlt a gyökérkönyvtárban, de most a következőképpen nyomtatjuk ki az eredményt: utolsó dátum a fájl elérésére, utolsó a fájl elérési ideje, majd a fájlnév. Ebből kiemeljük a legjobb 11 bejegyzést.

# 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

Az alábbi rendezési parancs először az év utolsó számjegye alapján rendez, majd a hónap utolsó számjegye alapján, fordított sorrendben, végül pedig az első mező alapján. Itt az „1,8” az első mező 8. oszlopát jelenti, az előtte lévő „n” pedig a numerikus rendezést, míg az „r” a fordított sorrendet jelöli válogatás.

# 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. Fájlok rendezése idő alapján

Itt is a find parancsot használjuk, hogy kilistázzuk a 11 legnépszerűbb fájlt a gyökérkönyvtárban, és kinyomtassuk az eredményt a következő formátumban: a fájl legutóbbi elérése, majd a fájlnév.

# 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

Az alábbi parancs a kimenetet a kimenet első mezőjének első oszlopa alapján rendezi, amely az óra első számjegye.

# 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. Az ls -l kimenetek rendezése dátum alapján

Ez a parancs numerikusan rendezi az 'ls -l' parancs kimenetét a 6. mező alapján hónaponként, majd a 7. mező alapján, amely dátum.

# 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

Következtetés

Hasonlóképpen, ha ismeri a sort parancsot, szinte minden listát rendezhet bármely mező alapján, sőt az Ön által kívánt oszlopok alapján is. Ez volt néhány trükk, amellyel a fájlokat dátum vagy idő alapján rendezheti. Ezek alapján építheti meg saját trükkjeit. Ha azonban van más érdekes trükkje, azt mindig megemlítheti megjegyzéseiben.