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:
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.find / -name .profileUm 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
0600haben, geben Sie Folgendes ein:
Dieser Befehl listet die Namen der Dateien auf, für die nur der Eigner lese- und schreibberechtigt ist. Der Punkt (find . -perm 0600.) 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:
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, diefind manual clients proposals -perm -06000600exakt entsprechen. In diesem Beispiel wählt -perm -0600 Dateien mit Berechtigungscodes aus, die Zugriffe, die dem Code0600entsprechen, und weitere Zugriffe zulassen, die über die Berechtigungsstufe0600hinausgehen. 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:
Dieser Befehl listet die Namen der gewöhnlichen Dateien (-type f) auf, die mehr als eine Verbindung haben (-links +1).find . -type f -links +1Hinweis: 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