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.