De opdracht find in Linux wordt gebruikt om bestanden en mappen te zoeken in opgegeven mappen op basis van verschillende criteria. Dit commando is een van de krachtigste en meest gebruikte hulpprogramma's in Linux.
Het basisformaat van de opdracht find is als volgt:
find [path] [expression]
waarbij:
path
het pad is naar de directory waarin bestanden moeten worden gezocht (standaard doorzoekt find de huidige directory en al zijn submappen);
expressie
een expressie is die de criteria definieert voor het zoeken naar bestanden.
De volgende zijn enkele van de meest voorkomende zoekcriteria voor bestanden die kunnen worden gebruikt in een expressie van het commando find:
-naam
: bestanden zoeken op naam. Bijvoorbeeld:
find /home/user -name myfile.txt
-type
: zoek naar bestanden van een specifiek type (bijvoorbeeld f
voor reguliere bestanden of d
voor mappen). Bijvoorbeeld:
find /home/user -type f
-grootte
: bestanden zoeken op grootte. Bijvoorbeeld:
find /home/user -size +10M
-mtime
: bestanden zoeken op laatste wijzigingstijd. Bijvoorbeeld:
find /home/user -mtime -7
-user
en -group
: bestanden zoeken op eigenaar en groep. Bijvoorbeeld:
find /home/user -user bob -group users
Je kunt de logische operatoren -en
, -of
en -niet
gebruiken om
meerdere zoekcriteria te combineren in een enkele expressie.
Het volgende commando vindt bijvoorbeeld alle bestanden in de map /home/user
die de afgelopen 7 dagen zijn gewijzigd en groter zijn dan 10 megabyte:
find /home/user -type f -mtime -7 -size +10M
Met de opdracht find kun je ook verschillende acties uitvoeren op de gevonden bestanden met de optie -exec
. Je kunt bijvoorbeeld alle bestanden verwijderen die meer dan 30 dagen geleden zijn gewijzigd met de volgende opdracht:
find /home/user -type f -mtime +30 -exec rm {} ;
Hier voert de -exec
optie de rm
opdracht uit voor elk gevonden bestand en gebruikt {}
om de bestandsnaam in de opdracht te vervangen.
De opdracht find
is een krachtig hulpmiddel om bestanden en mappen te vinden in Linux, dat kan worden gebruikt om verschillende beheertaken uit te voeren.
De opdracht find
ondersteunt veel andere opties die kunnen worden gebruikt om bestanden nauwkeuriger te vinden:
-iname
: zoek naar bestanden op naam zonder rekening te houden met hoofdletters en kleine letters. Bijvoorbeeld:
find /home/user -iname myfile.txt
-regex
: zoek naar bestanden waarvan de naam overeenkomt met een gegeven reguliere expressie. Bijvoorbeeld:
find /home/user -regex ".*.txt$"
-maxdepth
en -mindepth
: beperk de diepte van het zoeken naar bestanden in submappen. Bijvoorbeeld:
find /home/user -maxdepth 2 -type f
-prune
: sluit bepaalde mappen uit van de zoekopdracht. Bijvoorbeeld:
find /home/user -path /home/user/excluded -prune -o -type f -print
-print
: voer de lijst met gevonden bestanden uit naar standaarduitvoer. Bijvoorbeeld:
find /home/user -type f -print
find
ondersteunt ook het zoeken van bestanden op verschillende attributen zoals permissies, bestandsattributen, SELinux-labels
en andere. Meer informatie over deze opties is te vinden in de documentatie van het commando find
.
Het commando kan zoeken naar bestanden en mappen in het hele bestandssysteem, wat veel tijd en bronnen kan kosten. Daarom is het belangrijk om voorzichtig te zijn bij het gebruik van dit commando en ervoor te zorgen dat de zoekcriteria correct zijn ingesteld om te voorkomen dat er onnodige bestanden of fouten in het systeem worden gevonden.
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: