Dateien suchen (Befehl find)

Verwenden Sie den Befehl find , um die Verzeichnisstruktur rekursiv nach jedem angegebenen Pfadzu durchsuchen und nach Dateien zu suchen, die mit einem booleschen Ausdruck übereinstimmen, der mit den im folgenden Text angegebenen Begriffen geschrieben wurde.

Die Ausgabe des Befehls find richtet sich nach den im Ausdruck angegebenen Bedingungen.

Die folgenden Beispiele veranschaulichen die Verwendung des Befehls find:
  • Geben Sie Folgendes ein, um alle Dateien im Dateisystem mit dem Namen .profileaufzulisten:
    find / -name .profile
    Dieser Befehl durchsucht das gesamte Dateisystem und gibt die vollständigen Pfadnamen aller Dateien mit dem Namen .profile aus. Der Schrägstrich (/) weist den Befehl find an, das Verzeichnis /(root) und alle seine Unterverzeichnisse zu durchsuchen.

    Um Zeit einzusparen, können Sie die Suche durch Angabe der Verzeichnisse, in denen sich die Dateien Ihrer Meinung nach befinden müssten, einschränken.

  • Wenn Sie die Dateien in der aktuellen Verzeichnisstruktur auflisten möchten, die den speziellen Berechtigungscode 0600 haben, geben Sie Folgendes ein:
    find . -perm 0600
    Dieser Befehl listet die Namen der Dateien auf, für die nur der Eigner lese- und schreibberechtigt ist. Der Punkt (.) weist den Befehl find an, das aktuelle Verzeichnis und dessen Unterverzeichnisse zu durchsuchen. Eine Erläuterung der Berechtigungscodes finden Sie in der Beschreibung des Befehls chmod.
  • Wenn Sie mehrere Verzeichnisse nach Dateien mit bestimmten Berechtigungscodes durchsuchen möchten, geben Sie Folgendes ein:
    find manual clients proposals -perm -0600
    Dieser Befehl listet die Namen der Dateien auf, die Lese- und Schreibberechtigung für den Eigner und möglicherweise weitere Berechtigungen besitzen. Es werden die Verzeichnisse manual, clients und proposals und deren Unterverzeichnisse durchsucht. Im vorherigen Beispiel wählt -perm 0600 nur Dateien mit Berechtigungscodes aus, die 0600 exakt entsprechen. In diesem Beispiel wählt -perm -0600 Dateien mit Berechtigungscodes aus, die Zugriffe, die dem Code 0600 entsprechen, und weitere Zugriffe zulassen, die über die Berechtigungsstufe 0600 hinausgehen. Der Ausdruck gilt also auch für die Berechtigungscodes 0622 und 2744.
  • Wenn Sie alle Dateien im aktuellen Verzeichnis auflisten möchten, die während der letzten 24 Stunden geändert wurden, geben Sie Folgendes ein:
    find . -ctime 1 
  • Wenn Sie reguläre Dateien mit mehreren Verbindungen suchen möchten, geben Sie Folgendes ein:
    find . -type f -links +1
    Dieser Befehl listet die Namen der gewöhnlichen Dateien (-type f) auf, die mehr als eine Verbindung haben (-links +1).
    Hinweis: Jedes Verzeichnis hat mindestens zwei Links: den Eintrag in seinem übergeordneten Verzeichnis und seinen eigenen Eintrag .(Punkt). Weitere Informationen zu mehreren Dateilinks finden Sie in der Beschreibung des Befehls ln in der Veröffentlichung "Commands Reference".
  • Wenn Sie alle Dateien mit einer Größe von exakt 414 Bytes suchen möchten, geben Sie Folgendes ein:
    find . -size 414c