Hoofdopties
Probeer bestanden in het bestandssysteem te zoeken en te verwerken door de verschillende opties van de `find`-opdracht te combineren.
1. Basis zoeken
2. Tijdscondities
3. Grootte- en permissiecondities
4. Acties
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`find` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Logische operatoren
De `find`-opdracht biedt logische operatoren om nauwkeurigere zoekopdrachten uit te voeren door meerdere voorwaarden te combineren.
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| -and (of weggelaten) | Wanneer zowel de linker- als de rechterconditie waar is |
find . -name "*.txt" -and -size +1M
|
| -or | Wanneer ten minste één van de linker- of rechtercondities waar is |
find . -name "*.log" -or -name "*.tmp"
|
| -not (of !) | Wanneer de conditie onwaar is |
find . -not -name "*.txt"
|
| ( ) | Groeperen van voorwaarden (vereist escaping) |
find . \( -name "*.txt" -or -name "*.doc" \)
|
Operator-prioriteit
De operatoren van de find-opdracht worden over het algemeen zo geëvalueerd dat acties na expressies worden verwerkt. Binnen voorwaarden kunnen haakjes (()) worden gebruikt om de prioriteit expliciet te specificeren. Bij het gebruik van haakjes moeten deze worden ge-escaped met een backslash (\) omdat ze een speciale betekenis hebben in de shell.
Gebruiksvoorbeelden
Oefen met het zoeken en beheren van bestanden aan de hand van praktische gebruiksvoorbeelden van de `find`-opdracht.
Alle bestanden met de extensie '.log' vinden in de huidige map
find . -name "*.log"
Zoekt naar alle bestanden die eindigen op `.log` op de huidige locatie.
Bestanden groter dan 50 MB vinden
find /var -size +50M
Zoekt naar alle bestanden met een grootte van meer dan 50 MB onder de `/var`-map van het systeem.
Bestanden 'conf' vinden die in de afgelopen 7 dagen zijn gewijzigd
find . -name "*.conf" -mtime -7
Vindt `.conf`-bestanden die in de afgelopen 7 dagen zijn gewijzigd in de huidige map.
Alle mappen met toegangsmachtigingen 777 vinden
find / -type d -perm 777
Zoekt naar mappen met machtigingen ingesteld op 777 in het hele systeem om beveiligingsrisico's te controleren.
Oude '.tmp'-bestanden verwijderen
find /tmp -name "*.tmp" -mtime +30 -delete
Vindt en verwijdert alle `.tmp`-bestanden die ouder zijn dan 30 dagen in de `/tmp`-map.
Een specifieke opdracht uitvoeren op gevonden bestanden (chmod)
find . -name "*.sh" -exec chmod 755 {} \;
Verleent uitvoeringsmachtigingen (755) aan alle bestanden met de extensie `.sh` in de huidige map.
Bestanden groter dan 1 GB vinden die eigendom zijn van een specifieke gebruiker
find /home -user user1 -size +1G
Zoekt in de map `/home` naar bestanden die eigendom zijn van `user1` en groter zijn dan 1 GB.