find
A frappáns nevű find parancs segítségével fájlokat kereshetünk Linux alatt. A parancs szintaxisa a következő:
find holkeressen mitkeressen mitcsináljon
A keresés helyének megadásakor az alkönyvtárat adjuk meg ahol a fájlt keresni szeretnénk. Ha szükséges, több alkönyvtárat is megadhatunk szóközzel elválasztva. Alapértelmezésként az aktuális alkönyvtárban keres a parancs ( a példákban ezt fogom használni ).
Bár a mitcsináljon résznél többféle előre definiált utasítás közül választhatuk, a gyakorlatban szinte mindig a
-print
re van szükségünk, ami a talált fájlok neveit írja ki külön-külön sorba. Mivel ez az alapértelmezés, a példákban ezt sem írom ki külön.
A legérdekesebb rész annak megadása, milyen fájlokat keressen a parancs. Itt számtalan lehetőségünk van, néhány példa:
Az összes fájl keresése:
find
A png kiterjesztésű fájlok keresése
find -name "*.png"
Legalább 1 GB méretű fájlok:
find -size +1G
Legalább 700MB de legfeljebb 1GB méretű fájlok:
find -size 1G -size +700M
Legutóbbi 3 napban módosított fájlok:
find -mtime -3
Legutóbbi 3 napban nem módosított fájlok:
find -mtime +3
Két dátum között is lehet keresni (otegi tippje):
find -type f -newermt "20160101" -not -newermt "20161231"
Ha több feltételt használunk, azokat a fájlokat találjuk meg, amelyek minden feltételnek megfelelnek. Ha az és kapcsolat helyett inkább vagy kapcsolatra van szükségünk, a
-o
kapcsolót kell használnunk.
Az összes jpg és png kiterjesztésű fájl:
find -name "*.jpg" -o -name "*.png"
Ugyanerre a célra persze használhatunk reguláris kifejezéseket is:
find -regex ".*\.\(jpg\|png\)"