Fizetési módok Abuse

A find parancs Linuxban

04.03.2023, 02:43

A find parancs a Linuxban arra szolgál, hogy különböző kritériumok alapján fájlokat és könyvtárakat keressen megadott könyvtárakban. Ez a parancs az egyik legerősebb és legelterjedtebb segédprogram a Linuxban.

A parancs formátuma

A find parancs alapvető formátuma a következő:

find [path] [expression]

ahol:

path annak a könyvtárnak az elérési útvonala, amelyben a fájlokat keresni kell (alapértelmezés szerint a find az aktuális könyvtárban és annak összes alkönyvtárában keres);

expression egy kifejezés, amely meghatározza a fájlok keresésének feltételeit.

Az alábbiakban néhány olyan leggyakoribb fájlkeresési kritériumot mutatunk be, amelyek a find parancs kifejezésében használhatók:

-name: fájlok keresése név alapján. Például:

find /home/user -name myfile.txt

-type: egy adott típusú fájlok keresése (például f a normál fájlok esetében vagy d a könyvtárak esetében). Például:

find /home/user -type f

-size: fájlok keresése méret szerint. Például:

find /home/user -size +10M

-mtime: fájlok keresése az utolsó módosítás ideje alapján. Például:

find /home/user -mtime -7

-user és -group: fájlok keresése tulajdonos és csoport szerint. Például:

find /home/user -user bob -group users

A -and, -or és -not logikai operátorok segítségével több keresési feltétel egyetlen kifejezésben kombinálható.

Például a következő parancs a /home/user könyvtárban található összes olyan fájlt megkeresi, amelyet az elmúlt 7 napban módosítottak, és amelyek mérete nagyobb, mint 10 megabájt:

find /home/user -type f -mtime -7 -size +10M

A find parancs a -exec kapcsolóval különböző műveleteket is végezhet a megtalált fájlokon. A következő paranccsal például törölheti az összes olyan fájlt, amelyet 30 napnál régebben módosítottak:

find /home/user -type f -mtime +30 -exec rm {} ;

Itt a -exec opció minden egyes megtalált fájlra lefuttatja az rm parancsot, és a parancsban a fájlnevet {}-vel helyettesíti.

A find parancs egy hatékony eszköz a fájlok és könyvtárak keresésére a Linuxban, amely különböző kezelési feladatok elvégzésére használható.

További opciók

A find parancs számos egyéb opciót is támogat, amelyek segítségével pontosabban kereshetünk fájlokat:

-iname: fájlok keresése név alapján, a karakterek nagy- és kisbetűinek figyelembevétele nélkül. Például:

find /home/user -iname myfile.txt

-regex: olyan fájlok keresése, amelyek neve megfelel egy megadott reguláris kifejezésnek. Például:

find /home/user -regex ".*.txt$"

-maxdepth és -mindepth: korlátozza a keresés mélységét az alkönyvtárakban található fájlok esetében. Például:

find /home/user -maxdepth 2 -type f

-prune: bizonyos könyvtárak kizárása a keresésből. Például:

find /home/user -path /home/user/excluded -prune -o -type f -print

-print: a talált fájlok listájának kiadása a standard kimenetre. Például:

find /home/user -type f -print

A find támogatja a fájlok különböző attribútumok, például engedélyek, fájlattribútumok, SELinux-címkék és mások alapján történő keresését is. További információ ezekről az opciókról a find parancs dokumentációjában található.

A parancs a teljes fájlrendszerben kereshet fájlokat és könyvtárakat, ami sok időt és erőforrást igényelhet. Ezért fontos, hogy óvatos legyen a parancs használatakor, és győződjön meg arról, hogy a keresési feltételeket helyesen állította be, hogy elkerülje a felesleges fájlok vagy hibák megtalálását a rendszerben.