Makseviisid Abuse

Linuxi käsk find

04.03.2023, 02:43

Linuxi käsku find kasutatakse failide ja kataloogide otsimiseks määratud kataloogides erinevate kriteeriumide alusel. See käsk on üks võimsamaid ja levinumaid Linuxi utiliite.

Käsu vorming

Find käsu põhiline formaat on järgmine:

find [path] [expression]

kus:

path on tee kataloogi, kust faile otsitakse (vaikimisi otsib find praeguses kataloogis ja kõigis selle alamkataloogides);

expression on väljendus, mis määratleb failide otsimise kriteeriumid.

Järgnevalt on toodud mõned kõige levinumad failide otsimise kriteeriumid, mida saab kasutada find-käsu väljendis:

-name: otsib faile nime järgi. Näiteks:

find /home/user -name myfile.txt

-type: otsida kindlat tüüpi faile (näiteks f tavaliste failide puhul või d kataloogide puhul). Näiteks:

find /home/user -type f

-size: otsida faile suuruse järgi. Näiteks:

find /home/user -size +10M

-mtime: otsib faile viimase muutmise aja järgi. Näiteks:

find /home/user -mtime -7

-user ja -group: otsida faile omaniku ja grupi järgi. Näiteks:

find /home/user -user bob -group users

Saate kasutada loogilisi operaatoreid -and, -or ja -not, et kombineerida mitu otsingukriteeriumi üheks väljendiks.

Näiteks leiab järgmine käsk kõik failid kataloogis /home/user, mida on muudetud viimase 7 päeva jooksul ja mis on suuremad kui 10 megabaiti:

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

Käsk find võimaldab ka erinevaid toiminguid leitud failidega teha, kasutades valikut -exec. Näiteks saate kustutada kõik failid, mida on muudetud rohkem kui 30 päeva tagasi, kasutades järgmist käsku:

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

Siin käivitab -exec valik iga leitud faili puhul käsu rm ja kasutab käsus failinime asendamiseks {}.

Käsk find on võimas vahend failide ja kataloogide leidmiseks Linuxis, mida saab kasutada mitmesuguste juhtimisega seotud ülesannete täitmiseks.

Täiendavad valikud

Käsk find toetab mitmeid teisi valikuid, mida saab kasutada failide täpsemaks leidmiseks:

-iname: otsib faile nime järgi, arvestamata tähemärkide suurust. Näiteks:

find /home/user -iname myfile.txt

-regex: otsib faile, mille nimi vastab antud regulaaravaldisele. Näiteks:

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

-maxdepth ja -mindepth: piiravad alamkataloogides olevate failide otsimise sügavust. Näiteks:

find /home/user -maxdepth 2 -type f

-prune: välistada teatud kataloogid otsingust. Näiteks:

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

-print: väljastada leitud failide nimekiri standardväljundile. Näiteks:

find /home/user -type f -print

find toetab ka failide otsimist erinevate atribuutide, näiteks õiguste, faili atribuutide, SELinuxi märgiste jt järgi. Lisateavet nende valikute kohta leiate käsu find dokumentatsioonist.

Käsk võib otsida faile ja katalooge kogu failisüsteemis, mis võib võtta palju aega ja ressursse. Seetõttu on oluline olla selle käsu kasutamisel ettevaatlik ja veenduda, et otsingukriteeriumid on õigesti seatud, et vältida ebavajalike failide või vigade leidmist süsteemis.