Komanda find "Linux" naudojama ieškoti failų ir katalogų nurodytuose kataloguose pagal įvairius kriterijus. Ši komanda yra viena iš galingiausių ir plačiausiai paplitusių Linux komunalinių programų.
Pagrindinis komandos find formatas yra toks:
find [path] [expression]
kur:
kelias
- kelias į katalogą, kuriame reikia ieškoti failų (pagal numatytuosius nustatymus find ieško dabartiniame kataloge ir visuose jo pakatalogiuose);
išraiška
- išraiška, apibrėžianti failų paieškos kriterijus.
Toliau pateikiami kai kurie dažniausiai pasitaikantys failų paieškos kriterijai, kuriuos galima naudoti komandos find išraiškoje:
-name
: ieško failų pagal pavadinimą. Pvz:
find /home/user -name myfile.txt
-type
: ieško konkretaus tipo failų (pavyzdžiui, f -
įprastinių failų arba d
- katalogų). Pavyzdžiui:
find /home/user -type f
-size
: ieškoti failų pagal dydį. Pavyzdžiui:
find /home/user -size +10M
-mtime
: ieškoti failų pagal paskutinio pakeitimo laiką. Pavyzdžiui:
find /home/user -mtime -7
-user
ir -group
: ieškoti failų pagal savininką ir grupę. Pavyzdžiui:
find /home/user -user bob -group users
Galite naudoti loginius operatorius -and
, -or
ir -not
, kad sujungtumėte kelis paieškos kriterijus į vieną išraišką.
Pavyzdžiui, ši komanda suras visus /home/user
katalogo failus, kurie buvo modifikuoti per pastarąsias 7 dienas ir yra didesni nei 10 megabaitų:
find /home/user -type f -mtime -7 -size +10M
Komanda find taip pat leidžia su rastais failais atlikti įvairius veiksmus naudojant parinktį -exec
. Pavyzdžiui, galite ištrinti visus failus, kurie buvo modifikuoti daugiau nei prieš 30 dienų, naudodami šią komandą:
find /home/user -type f -mtime +30 -exec rm {} ;
Čia parinktimi -exec
kiekvienam rastam failui paleidžiama komanda rm
, o vietoj failo pavadinimo komandoje naudojamas {}
.
Komanda find
yra galinga failų ir katalogų paieškos priemonė "Linux" sistemoje, kurią galima naudoti įvairioms su valdymu susijusioms užduotims atlikti.
Komanda find
palaiko daug kitų parinkčių, kurias galima naudoti norint tiksliau surasti failus:
-iname
: ieškoti failų pagal pavadinimą, neatsižvelgiant į ženklų raidę. Pvz:
find /home/user -iname myfile.txt
-regex
: ieško failų, kurių pavadinimai atitinka nurodytą reguliariąją išraišką. Pavyzdžiui:
find /home/user -regex ".*.txt$"
-maxdepth
ir -mindepth
: apriboti paieškos gylį ieškant failų pakatalogiuose. Pavyzdžiui:
find /home/user -maxdepth 2 -type f
-prune
: neįtraukti į paiešką tam tikrų katalogų. Pavyzdžiui:
find /home/user -path /home/user/excluded -prune -o -type f -print
-print
: išvesti rastų failų sąrašą į standartinę išvestį. Pavyzdžiui:
find /home/user -type f -print
find
taip pat palaiko failų paiešką pagal įvairius požymius, pavyzdžiui, leidimus, failų atributus, SELinux
etiketes ir kitus. Daugiau informacijos apie šias parinktis rasite komandos find
dokumentuose.
Komanda gali ieškoti failų ir katalogų visoje failų sistemoje, o tai gali užimti daug laiko ir išteklių. Todėl naudojant šią komandą svarbu būti atsargiems ir įsitikinti, kad paieškos kriterijai nustatyti teisingai, kad nerastumėte nereikalingų failų ar klaidų sistemoje.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: