Startpagina > Bestands- en mapbeheer > find

De find-opdracht onder de knie krijgen

Dit is een gids voor de find-opdracht, die wordt gebruikt om bestanden en mappen in het bestandssysteem van Linux te zoeken. U kunt efficiënt de gewenste bestanden vinden door verschillende voorwaarden en acties te combineren.

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.

Belangrijkste logische operatoren Operatoren die worden gebruikt om meerdere voorwaarden te combineren. Standaard wordt AND (-a) toegepast.
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.



Hétzelfde categoriecommando