Hogyan találhatunk fájlokat Linuxban a

find parancs a fájlrendszer objektumainak rekurzív szűrésére egy egyszerű feltételes mechanizmus alapján. Használja afind fájlt vagy könyvtárat a fájlrendszeren. A -exec zászló használatával a fájlok azonnal megtalálhatókazon a parancson belül feldolgozva.,

Find Linux Files by Name or Extension

Use find from the command line to locate a specific file by name or extension., A következő példa keres *.err fájlok a /home/username/ könyvtár, valamint az összes alkönyvtárat:

find /home/username/ -name "*.err"

egy hasonló kimenetet a konzolon:

 /home/username/example.errThe matching file in the /home/username/ directory is "example.err"

Közös Linux Találni Parancsok Szintaxisa

A find parancs általában a következő formában:

find options starting/path expression
  • A options attribútum irányítja a viselkedést, optimalizálási módszer a find folyamat.,
  • a starting/pathattribútum határozza meg a felső szintű könyvtárat, aholfind szűrést kezd.
  • a expression attribútum vezérli azokat a teszteket, amelyek a könyvtárhierarchiában keresnek kimenetet.

Keressen egy fájlt Linuxban a

fájlnév használatával a fájlnév használatához használja a find -name filenameszintaxist. Az elérési út kihagyása a fájlt a teljes lemezen keresi., Például egy example.err nevű fájlt talál a /home/username könyvtárban a következő paranccsal:

find -name example.err

hasonló kimenetet kell látnia:

 ./username/example.err

>

keressen egy fájlt az aktuális könyvtárban a find paranccsal

vessen egy pillantást a példa könyvtárszerkezetre és fájlokra. Ezeket az útmutató példáiban említik.,meg akarom találni a fájl example.err belül a könyvtárat vagy annak alkönyvtárak, akkor adja ki a következő parancsot:

find . -name example.err

A kimeneti hasonlít a következő:

 ./example.err./directory_1/example.err

A kimeneti tükrözi directory_1 directory struktúra:

 ├── directory_1│ ├── subdirectory_1│ │ └── example.err│ └── example.err

keresd meg a Kép Fájlok a Linux parancssorból

Hivatkozás a fájl szerkezetét az előző részben, itt egy kép neve image01.png található a gyökér (/)s a könyvtárszerkezet.,

aimage01.png fájl megtalálásához futtassa a következőfind parancsot, amely megtalálja az összes.png a/ könyvtárban tárolt fájlokat.

find -name *.png

hasonló kimenetet kell látnia:

 ./image01.png

módosítsa a képfájl típusát, és keressen bármilyen .jpg fájlt a gyökérkönyvtárban (/): p>

find -name *.jpg

a kimenet hasonlít a példára., A fájl helyének megtekintéséhez tekintse meg az előző szakasz példa könyvtárszerkezetét.

 ./web_files/unnamed.jpg

Keressen egy üres fájlt a könyvtárban a

parancssor segítségével, hogy üres fájlt találjon a könyvtárban a parancssor segítségével, adja ki a következő parancsot:

find . -type f -empty

ha nincs kimenet, akkor nincs üres fájl az aktuális könyvtárban.

A

find ignoressymbolic linkek alapértelmezett konfigurációja parancssori fájlok Linuxban történő keresésére szolgáló opciók és optimalizálások., Ha azt szeretné, hogy a find kövesse és adja vissza a szimbolikus hivatkozásokat, adja hozzá a -L opciót a parancshoz, az alábbiak szerint:

find -O3 -L /var/www/ -name "*.html"

Ez a parancs lehetővé teszi a maximális optimalizálási szintet (-O3) és lehetővé teszi a find szimbolikus hivatkozások követését (-L). finda teljes könyvtárfát a /var/www/alatt keresi a .html fájlokkal végződő fájlok esetén.,

find optimalizálja szűrési stratégiáját a teljesítmény növelése érdekében. Három felhasználó által választható optimalizálási szint van megadva: -O1, -O2, és -O3. A-O1 optimization az alapértelmezett, és erőkfind szűrni alapján fájlnév futtatása előtt az összes többi teszt.,

Optimization at the -O2level priorizes filename filename filters, as in -O1, majd fut az összes fájltípus szűrés megkezdése előtt más erőforrás-intenzív feltételek. Szint -O3 optimalizálás lehetővé teszi, hogy a find, hogy végre a legsúlyosabb optimalizálás, majd reorders minden vizsgálatok alapján a relatív költség, valamint a valószínűsége, hogy a siker.,

Command Description
-O1 Filter based on filename first (default).
-O2 File name first, then file-type.,
-O3 find a keresés automatikus újrarendelése az erőforrások hatékony felhasználása és valószínűsége alapján. a siker
-maxdepth X keresés aktuális könyvtár, valamint az összes alkönyvtár X szint mély.
-iname Keresés szöveges eset figyelembevétele nélkül.,
-not Return only results that do not match the test case.
-type f Search for files.
-type d Search for directories.,

fájlok keresése Linuxban módosítási idő szerint a

find parancs szűrheti a könyvtári hierarchiát a fájl utolsó módosításakor., Például a következő parancs talál minden fájlt a .err kiterjesztéssel, amelyet az elmúlt 7 napban módosítottak:

find / -name "*err" -mtime -7

a példa parancs a következő kimenetet adja vissza:

A Grep segítségével fájlokat találhat Linuxban a

parancs csak a fájl neve és metaadatai alapján képes szűrni a könyvtári hierarchiát. Ha a fájl tartalma alapján kell keresnie, használjon olyan eszközt, mint példáulgrep., Vegye figyelembe a következő példát:

find . -type f -exec grep "test" '{}' \; -print

Ez a parancs az aktuális könyvtárhierarchiában minden objektumot keres (.), amely egy fájl (-type f), majd futtatja a grep "test" parancsot minden fájl, amely megfelel a feltételeknek. A megfelelő fájlok a képernyőn jelennek meg (-print). A curly braces ({}) a találati eredmények helyőrzője., A {} egyetlen idézőjelbe van zárva ('), hogy elkerülje a grep hibás fájlnév átadását. A-exec parancs pontosvesszővel (;) fejeződik be, amelyet el kell kerülni () a héj értelmezésének elkerülése érdekében.

a példában használt fájlnak (example.err) szövege van benne, amely azt mondja: “teszt”., A példa parancs futtatásakor hasonló kimenetet lát:

Grep azonosította az aktuális munkakönyvtárban található összes fájlt, amely tartalmazza a “teszt”karakterláncot.,

Megjegyzés:

Mielőtt a find parancs végrehajtása a -exec opció lehet létrehozni egy hasonló kimenetet, hogy a fenti példa segítségével, hogy a xargs parancsot:

find . -type f -print | xargs grep "test"

a Folyamat Megtalálni a Fájlokat a find Parancs Linux

A -exec opció fut parancsok ellen, minden objektum, amely megegyezik a find kifejezés., Vegye figyelembe a következő példát:

find . -name "example.err" -exec chmod o+r '{}' \;

Ez kiszűri az aktuális hierarchia minden objektumát (.) a rc.conf nevű fájlokhoz, és futtatja a chmod o+r parancsot a fájl engedélyeinek módosításához div id=”6e30b51f0c”> parancs eredményei.

a példa parancs futtatja és végrehajtja a -execopciót a find folyamat gyökérkönyvtárában. Használja a -execdir parancsot a megadott parancs végrehajtásához abban a könyvtárban, ahol a mérkőzés található., Ez enyhítheti a biztonsági aggályokat, és egyes műveletek esetében jobb teljesítményt eredményezhet.

a -execvagy -execdir az opciók további utasítások nélkül futnak. Ha a művelet megkezdése előtt szeretné kérni, cserélje ki a -exec -ok vagy -execdir -okdir.

hogyan lehet megtalálni és törölni a fájlokat a Linux parancssor segítségével

Vigyázat

használja ezt az opciót rendkívül óvatosan.,

adja hozzá a -delete opciót a mérkőzés kifejezésének végéig az összes megfelelő fájl törléséhez. Használja ezt az opciót, ha biztos benne, hogy az eredmények csak a törölni kívánt fájlokhoz igazodnak.

az alábbi példában find rekurzív módon megkeresi a hierarchiában lévő összes fájlt az aktuális könyvtárból kiindulva, és törli az összes fájlt, amely a .err kiterjesztés:

find . -name "*.err" -delete

még van néhány kérdése?,

Csatlakozzon közösségünkhöz, és tegye fel kérdéseit más Linode-és Linux-rajongóknak, hogy segítsenek.

kapcsolódó kérdések:

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük