So finden Sie eine Datei in Linux mit dem Befehl Find

Der Linux find Befehl ist einer der wichtigsten und nützlichsten Befehle in Linux-Systemen. Er kann, wie der Name schon sagt, Dateien auf Ihrem Linux-PC basierend auf nahezu allen Bedingungen und Variablen finden, die Sie festlegen. Sie können Dateien nach Berechtigungen, Benutzern, Gruppen, Dateityp, Datum, Größe und anderen möglichen Kriterien mit dem find Befehl suchen. Hier zeigen wir Ihnen, wie Sie eine Datei in Linux mit dem find Befehl finden.
Der find Befehl ist standardmäßig auf den meisten Linux-Distributionen verfügbar, sodass Sie kein Paket dafür installieren müssen.
Auch lesen: Verwendung von find, locate, which und whereis Befehlen zur Dateisuche in Linux
Dateien nach Namen in aktuellen Verzeichnissen finden
Die offensichtlichste Möglichkeit, nach Dateien zu suchen, ist nach Namen. Um eine Datei nach Namen im aktuellen Verzeichnis zu finden, führen Sie aus:
find . -name photo.png
Wenn Sie eine Datei nach Namen suchen möchten, die sowohl Groß- als auch Kleinbuchstaben enthält, führen Sie aus:
find . -iname photo.png
Wenn Sie eine Datei im Wurzelverzeichnis finden möchten, fügen Sie Ihrer Suche sudo voran, was Ihnen alle erforderlichen Berechtigungen dafür gibt, sowie das / Symbol, das Linux anweist, im Wurzelverzeichnis zu suchen. Schließlich zeigt der Ausdruck -print die Verzeichnisse Ihrer Suchergebnisse an. Wenn Sie nach Gzip suchen würden, würden Sie eingeben:
sudofind/-namegzip-print
Auch lesen: So finden Sie große Dateien in Linux
Dateien unter einem bestimmten Verzeichnis finden
Wenn Sie Dateien unter einem bestimmten Verzeichnis wie „/home“ finden möchten, führen Sie aus:
find/home -name filename.txtWenn Sie Dateien mit der „.txt“ Erweiterung im Verzeichnis „/home“ finden möchten, führen Sie aus:
find/home -name"*.txt"Um Dateien zu finden, deren Name „test.txt“ unter mehreren Verzeichnissen wie „/home“ und „/opt“ ist, führen Sie aus:
find/home /opt -name test.txtUm versteckte Dateien im Verzeichnis „/home“ zu finden, führen Sie aus:
find/home -name".*"Um eine einzelne Datei mit dem Namen „test.txt“ zu finden und zu entfernen, führen Sie aus:
find/home -type f -name test.txt -execrm-f{}Um alle leeren Dateien im Verzeichnis „/opt“ zu finden, führen Sie aus:
find/opt -type f -emptyVerzeichnisse nach Namen finden
Wenn Sie alle Verzeichnisse finden möchten, deren Name „testdir“ im Verzeichnis „/home“ ist, führen Sie aus:
find/home -type d -name testdirUm alle leeren Verzeichnisse unter „/home“ zu finden, führen Sie aus:
find/home -type d -emptyDateien mit bestimmten Berechtigungen finden
Der find Befehl kann verwendet werden, um Dateien mit einer bestimmten Berechtigung mithilfe der perm Option zu finden.
Um alle Dateien zu finden, deren Berechtigungen „777“ im Verzeichnis „/home“ sind, führen Sie aus:
find/home -type f -perm 0777 -printUm alle Dateien ohne Berechtigung „777“ zu finden, führen Sie aus:
find . -type f !-perm777Um alle schreibgeschützten Dateien zu finden, führen Sie aus:
find/home -perm/u=rUm alle ausführbaren Dateien zu finden, führen Sie aus:
find/home -perm/a=xUm alle Dateien mit gesetztem Sticky-Bit zu finden, deren Berechtigungen „553“ sind, führen Sie aus:
find/home -perm1553Um alle SUID-gesetzten Dateien zu finden, führen Sie aus:
find/home -perm/u=sUm alle Dateien zu finden, deren Berechtigungen „777“ sind und deren Berechtigungen auf „700“ zu ändern, führen Sie aus:
find/home -type f -perm 0777 -print-execchmod700{} ;Dateien und Verzeichnisse nach Datum und Uhrzeit finden
Um alle Dateien im Verzeichnis „/opt“ zu finden, die vor 20 Tagen geändert wurden, führen Sie aus:
find/opt -mtime20Um alle Dateien im Verzeichnis „/opt“ zu finden, die vor zwanzig Tagen zugegriffen wurden, führen Sie aus:
find/opt -atime20Um alle Dateien im Verzeichnis „/opt“ zu finden, die mehr als 30 Tage und weniger als 50 Tage zuvor geändert wurden:
find/opt -mtime +30-mtime-50Um alle Dateien im Verzeichnis „/opt“ zu finden, die in den letzten zwei Stunden geändert wurden, führen Sie aus:
find/opt -cmin-120Dateien und Verzeichnisse nach Größe finden
Um alle 10MB Dateien im Verzeichnis „/home“ zu finden, führen Sie aus:
find/home -size 10MUm alle Dateien im Verzeichnis „/home“ zu finden, die größer als 10MB und kleiner als 50MB sind, führen Sie aus:
find/home -size +10M -size-50MUm alle „.mp4“ Dateien im Verzeichnis „/home“ mit mehr als 10MB zu finden und sie mit einem einzigen Befehl zu löschen, führen Sie aus:
find/home -type f -name*.mp4 -size +10M -execrm{} ;Wie Sie sehen können, ist der find Befehl unglaublich nützlich für die Verwaltung eines Systems, das Durchsuchen von Verzeichnissen, um Dateien zu finden, und allgemein das Ausdünnen des virtuellen Verzeichnisbaums in Linux. Wenn Ihnen dieser Linux-Artikel gefallen hat, stellen Sie sicher, dass Sie sich auch einige unserer anderen Linux-Inhalte ansehen, wie z.B. wie man den scp-Befehl verwendet, um Dateien sicher zu übertragen, wie man nnn als Dateimanager im Terminal verwendet und wie man defekte Pakete repariert.