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 afind
folyamat., - a
starting/path
attribú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 filename
szintaxist. 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
). find
a 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 -O2
level 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 axargs
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 -exec
opció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 -exec
vagy -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: