Startseite > Datei- und Verzeichnisverwaltung > find

Das find-Kommando meistern

Dies ist ein Leitfaden für das `find`-Kommando, mit dem Sie Dateien und Verzeichnisse im Dateisystem von Linux suchen können. Durch die Kombination verschiedener Bedingungen und Aktionen können Sie die gewünschten Dateien effizient finden.

Hauptoptionen

Versuchen Sie, Dateien im Dateisystem zu suchen und zu verarbeiten, indem Sie die verschiedenen Optionen des `find`-Kommandos kombinieren.

1. Grundlegende Suche

2. Zeitbedingungen

3. Größen- und Berechtigungsbedingungen

4. Aktionen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`find` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Logische Operatoren

Das `find`-Kommando bietet logische Operatoren, um präzisere Suchen durch die Kombination mehrerer Bedingungen durchzuführen.

Wichtige logische Operatoren Operatoren, die zum Kombinieren mehrerer Bedingungen verwendet werden. Standardmäßig wird AND (`-a`) angewendet.
Operator Beschreibung Beispiel
-and (oder weggelassen) Wenn sowohl die linke als auch die rechte Bedingung wahr sind `find . -name "*.txt" -and -size +1M`
-or Wenn mindestens eine der linken oder rechten Bedingungen wahr ist `find . -name "*.log" -or -name "*.tmp"`
-not (oder !) Wenn die Bedingung falsch ist `find . -not -name "*.txt"`
( ) Bedingungen gruppieren (muss maskiert werden) `find . \( -name "*.txt" -or -name "*.doc" \)`

Operator-Rangfolge

Die Operatoren des `find`-Kommandos werden im Allgemeinen so ausgewertet, dass Aktionen (Actions) nach den Bedingungen (Expressions) verarbeitet werden. Innerhalb von Bedingungen können Klammern (`()`) verwendet werden, um die Rangfolge explizit festzulegen. Bei der Verwendung von Klammern müssen diese mit einem Backslash (`\`) maskiert werden, da sie in der Shell eine besondere Bedeutung haben.

Anwendungsbeispiele

Üben Sie die Dateisuche und -verwaltung anhand praktischer Anwendungsbeispiele des `find`-Kommandos.

Alle Dateien mit der Erweiterung '.log' im aktuellen Verzeichnis finden

find . -name "*.log"

Sucht nach allen Dateien, die im aktuellen Verzeichnis auf `.log` enden.

Dateien finden, die größer als 50 MB sind

find /var -size +50M

Sucht im Verzeichnis `/var` des Systems nach allen Dateien, die größer als 50 MB sind.

'conf'-Dateien finden, die innerhalb der letzten 7 Tage geändert wurden

find . -name "*.conf" -mtime -7

Sucht im aktuellen Verzeichnis nach `.conf`-Dateien, die innerhalb der letzten 7 Tage geändert wurden.

Alle Verzeichnisse mit der Zugriffsberechtigung 777 finden

find / -type d -perm 777

Sucht im gesamten System nach Verzeichnissen, deren Berechtigungen auf 777 gesetzt sind, um Sicherheitsrisiken zu überprüfen.

Alte '.tmp'-Dateien löschen

find /tmp -name "*.tmp" -mtime +30 -delete

Sucht im Verzeichnis `/tmp` nach allen `.tmp`-Dateien, die älter als 30 Tage sind, und löscht sie.

Ein bestimmtes Kommando für gefundene Dateien ausführen (chmod)

find . -name "*.sh" -exec chmod 755 {} \;

Erteilt allen Dateien mit der Erweiterung `.sh` im aktuellen Verzeichnis Ausführungsberechtigungen (755).

Dateien finden, die größer als 1 GB sind und einem bestimmten Benutzer gehören

find /home -user user1 -size +1G

Sucht im Verzeichnis `/home` nach Dateien, die dem Benutzer `user1` gehören und größer als 1 GB sind.


Gleiche Kategorie Befehle