Komandu find Linux izmanto, lai meklētu failus un direktorijus norādītajos direktorijos, pamatojoties uz dažādiem kritērijiem. Šī komanda ir viena no jaudīgākajām un izplatītākajām Linux utilītprogrammām.
Komandas find pamatformāts ir šāds:
find [path] [expression]
kur:
ceļš
ir ceļš uz direktoriju, kurā meklēt failus (pēc noklusējuma find meklē pašreizējā direktorijā un visos tās apakšdirektorijos);
izteiksme
ir izteiksme, kas nosaka failu meklēšanas kritērijus.
Tālāk ir minēti daži no visbiežāk sastopamajiem failu meklēšanas kritērijiem, ko var izmantot komandas find izteiksmē:
-name
: meklē failus pēc nosaukuma. Piemēram:
find /home/user -name myfile.txt
Piemēram, f -
regulāriem failiem vai d
- direktorijiem). Piemēram:
find /home/user -type f
-size
: meklēt failus pēc izmēra. Piemēram:
find /home/user -size +10M
-mtime
: meklēt failus pēc pēdējās modifikācijas laika. Piemēram:
find /home/user -mtime -7
-user
un -group
: meklē failus pēc īpašnieka un grupas. Piemēram:
find /home/user -user bob -group users
Lai
apvienotu vairākus meklēšanas kritērijus vienā izteicienā, varat izmantot loģiskos operatorus -and
, -or
un -not.
Piemēram, ar šādu komandu tiks atrasti visi faili direktorijā /home/user
, kas modificēti pēdējo 7 dienu laikā un ir lielāki par 10 megabaitiem:
find /home/user -type f -mtime -7 -size +10M
Komanda find ļauj arī veikt dažādas darbības ar atrastajiem failiem, izmantojot opciju -exec
. Piemēram, varat dzēst visus failus, kas modificēti pirms vairāk nekā 30 dienām, izmantojot šādu komandu:
find /home/user -type f -mtime +30 -exec rm {} ;
Šajā gadījumā opcija -exec izpil
da komandu rm
katram atrastajam failam un komandā aizstāj faila nosaukumu ar {}
.
Komanda find
ir spēcīgs rīks failu un direktoriju meklēšanai Linux operētājsistēmā, ko var izmantot, lai veiktu dažādus ar pārvaldību saistītus uzdevumus.
Komanda find
atbalsta daudzas citas opcijas, kuras var izmantot, lai precīzāk atrastu failus:
-iname
: meklē failus pēc nosaukuma, neņemot vērā rakstzīmju lielumu. Piemēram:
find /home/user -iname myfile.txt
-regex
: meklē failus, kuru nosaukumi atbilst norādītajai regulārajai izteiksmei. Piemēram:
find /home/user -regex ".*.txt$"
-maxdepth
un -mindepth
: ierobežo meklēšanas dziļumu failu meklēšanai apakšdirektorijos. Piemēram:
find /home/user -maxdepth 2 -type f
-prune
: izslēdz no meklēšanas noteiktus direktorijus. Piemēram:
find /home/user -path /home/user/excluded -prune -o -type f -print
-print
: izvadiet atrasto failu sarakstu uz standarta izvadi. Piemēram:
find /home/user -type f -print
find
atbalsta arī failu meklēšanu pēc dažādiem atribūtiem, piemēram, atļaujām, failu atribūtiem, SELinux
marķējumiem un citiem. Vairāk informācijas par šīm opcijām var atrast komandas find
dokumentācijā.
Komanda var meklēt failus un direktorijus visā failu sistēmā, kas var aizņemt daudz laika un resursu. Tāpēc, lietojot šo komandu, ir svarīgi būt uzmanīgiem un pārliecināties, ka meklēšanas kritēriji ir pareizi iestatīti, lai izvairītos no nevajadzīgu failu vai kļūdu atrašanas sistēmā.
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: