Keresse meg név szerint
A fájl megkeresésére a legegyszerűbb parancs, amelyet egy könyvtárban egy adott névvel használunk. Ennek a parancsnak az az előnye, hogy a bash akkor is megtalálja a fájlt, ha az az egyik rekurzív könyvtárban található az átadott könyvtár elérési útján belül. Nézzünk meg egy példát:
keresse meg a Code -name ifelse4.SHEz a parancs megtalálja az ifelse4 fájlt.sh rekurzívan a Kód könyvtárban. Lássuk a parancs kimenetét:
Fájl keresése név szerint
A fent említett névopció megkülönbözteti a kis- és nagybetűket. Ha meg szeretné találni a fájlt a névben szereplő esetektől függetlenül, használja a következő parancsot: megtalálja Code -iname ifelse4.SH
Fájl keresése reguláris kifejezéssel
Egyszerű reguláris kifejezésekkel megkereshetünk egy fájlt egy könyvtárban, amely megfelel annak a reguláris kifejezésnek. Bemutassuk ezt egy egyszerű paranccsal, hogy megtalálja az összes fájlt bármilyen névvel és kiterjesztéssel .txt:
megtalálja Code -regex ".* \.SH"Íme, amit ezzel a paranccsal kapunk vissza:
Fájl keresése regex szerint
Értsük meg, mit jelent ez a parancs itt:
- -regex: Ez csak azt jelzi, hogy legközelebb egy reguláris kifejezést fogunk átadni.
- A reguláris kifejezésben az első periódus (.) azt jelzi, hogy a fájlnévben szereplő tetszőleges számú karakter egyezik.
- Ezután a * -gal tetszőleges számú ismétlést illesztünk bármilyen karakterhez (a periódus miatt).
- Végül minden fájlt összeillesztünk a .sh kiterjesztés.
A reguláris kifejezésben az a jó, hogy a lehető legrugalmasabbá tehető, ahogyan meghatározhatja. Módosítsuk a fenti példát a fájlok megkeresésére a .sh és .txt kiterjesztés is:
megtalálja Code -regex ".* \.sh | \.txt "Az utolsó n percben módosított fájlok keresése
Az elmúlt n percben módosított fájl megkeresése szintén egyszerű. Nézzünk azonnal egy példát:
megtalálja a -mmin -90 kódotLássuk a parancs kimenetét:
Az elmúlt 90 percben módosított fájl keresése
Az elmúlt n napban módosított fájlok keresése
Az elmúlt n napban módosított fájl megtalálása szintén egyszerű. Nézzünk azonnal egy példát:
keresse meg a -mtime 0 kódotÍme, amit ezzel a paranccsal kapunk vissza:
Fájl keresése napok szerint
Fájlok keresése engedélyek alapján
Meghatározott engedélyekkel rendelkező fájl keresése is lehetséges. Megtalálhatunk fájlokat, amelyek egy felhasználóhoz vagy egy felhasználói csoporthoz vannak társítva:
megtalálja . -felhasználó shubhamÍme, amit ezzel a paranccsal kapunk vissza:
Felhasználóhoz tartozó fájlok megkeresése
Ugyanazt a logikát alkalmazhatjuk egy felhasználói csoporthoz tartozó fájlok megkeresésére is: megtalálja . -csoportgyökér
Fájlok keresése méret szerint
A megadott paranccsal nagyobb fájlok megkeresése a következő paranccsal található:
megtalálja a Code -size +500 kódotÍme, amit ezzel a paranccsal kapunk vissza:
Keresse meg a fájlt méret szerint
A bájtokon kívül a fájl mérete megemlíthető:
- b: 512 bájtos blokkok: Ez az alapértelmezett egység, ha nincs megadva
- c: bájtok
- k: kilobájt
- M: megabájt
- G: gigabájt
Fájlok keresése típus szerint
Lehetőség van típusú fájlok keresésére. A find parancsnak a következő típusai vannak:
- d: könyvtár
- f: rendes fájl
- l: szimbolikus kapcsolat
- b: pufferelt blokk
- c: nem pufferolt karakter
- p: megnevezett pipa
- s: aljzat
Használjunk egy parancsot egy rendes fájl megkeresésére:
megtalálja . -f típusÍme, amit ezzel a paranccsal kapunk vissza:
Fájlok keresése típus szerint
Több feltételű fájlok keresése
Utolsó példaként több feltétel hozzáfűzésével lehet fájlokat találni, amint azt fentebb láttuk. Próbálkozzunk több feltétellel egyetlen find paranccsal:
megtalálja . -méret + 1c -és -név "*.SH"Íme, amit ezzel a paranccsal kapunk vissza:
Keressen fájlokat több feltétellel
Következtetés
Ebben a leckében megvizsgáltuk, hogyan használhatjuk a find parancsot bármilyen fájl, valamilyen névvel, engedélyekkel vagy típus szerint történő megkeresésére. Akár több feltételt is csatolhatunk az összes feltételnek megfelelő fájlok megkereséséhez. Játsszon még jobban a parancsokkal a rela erő finanszírozásához.