Mit dem Befehl find können Sie an einem bestimmten Ort nach Dateien und Verzeichnissen suchen, die bestimmten Suchkriterien entsprechen. Es durchsucht rekursiv die Verzeichnisstruktur, einschließlich aller Unterverzeichnisse und deren Inhalte, beginnend mit dem von Ihnen eingegebenen Suchort. Sie können eine oder mehrere Aktionen für die gefundenen Dateien ausführen.
Mit der Option -type können Sie den gesuchten Objekttyp angeben, z. B. d für Verzeichnis oder f für Datei. Mit der Option -name geben Sie den Namen des Objekts an, nach dem Sie suchen. Das folgende Beispiel durchsucht das Home-Verzeichnis eines Benutzers (und alle Unterverzeichnisse) nach allen Dateien mit dem Namen 2021_report:
$ find /home/user -type f -name 2021_report
Syntax
Die Syntax des Suchbefehls lautet:
$ find [options] {search locations} {search criteria} [actions]
Wenn beim Ausführen des Find-Befehls der folgende Fehler auftritt:
find: command not found
Sie können versuchen, das folgende Paket entsprechend Ihrer Distribution zu installieren:
Verteilung | Befehl |
---|---|
OS X | brew install findutils |
Debian | apt-get install findutils |
Ubuntu | apt-get install findutils |
Alpin | apk findutils hinzufügen |
Arch Linux | pacman -S findutils |
Kali-Linux | apt-get install findutils |
CentOS | yum findutils installieren |
Fedora | dnf install findutils |
Raspbian | apt-get install findutils |
Befehlsbeispiele finden
1. So finden Sie die Datei mit dem Namen im angegebenen Verzeichnis:
# find / -name file.txt # find . -name file.txt (within current directory)
2. So finden Sie die Datei mit den angegebenen Berechtigungen:
# find / -perm 775 # find / -perm a+x # find . -perm 775(within current directory)
3. Um mindestens ein Schreibbit gesetzt zu haben (spezifische Erlaubnis):
# find / -perm /a+w # find . -perm /a+w (within current directory)
4. Um eine Datei zu finden, die kein ausführbares Bit gesetzt hat:
# find / ! -perm /111 # find / ! -perm /a+x # find . ! -perm /a+x (within current directory)
5. Um nach einer weltweit lesbaren Datei zu suchen, die mindestens ein Schreibbit hat und von niemandem ausführbar ist:
# find . -perm -a+r -perm /a+w ! -perm /a+x
6. Um zu vermeiden, den symbolischen Links zu folgen:
# find -p / -name file
7. Um den symbolischen Links zu folgen:
# find -p / -name file
8. Symbolischen Links nicht zu folgen, außer während der Verarbeitung der Kommandozeilenargumente:
# find -H / -name file
9. So finden Sie die Datei mit der angegebenen Tiefe in der Verzeichnisstruktur:
# find -d 2 / -name file
10. So geben Sie die Abstiegsstufe an:
# find -maxdepth 2 / -name file
11. So legen Sie die Mindesttiefe fest:
# find -mindepth 4 / -name file
12. Um den Inhalt jedes Verzeichnisses vor dem Verzeichnis selbst zu verarbeiten:
# find -depth / -name file
13. So geben Sie den Starttag für Zeitstempel der Datei an:
# find -daystart -atime file
14. Um anzuzeigen, dass keine Fehlermeldung ausgegeben wird (wenn die Datei während der Verarbeitung gelöscht wird):
# find -ignore_readdir_race / -name file
15. So deaktivieren Sie das -ignore_readdir_race:
# find -noignore_readdir_race / -name file
16. Um keine Verzeichnisse von anderen Einhängepunkten aufzunehmen:
# find -mount / -name file
17. Zu Änderungen der regulären Ausdruckssyntax verstanden:
# find -regextype type
18. So schalten Sie Warnmeldungen ein oder aus:
# find -warn / -name file # find -nowarn / -name file
19. Verzeichnisse auf Autofs-Dateisystemen nicht absteigen:
# find -xautofs / -name file
20. Keine Verzeichnisse auf anderen Dateisystemen absteigen:
# find -xdev / -name