So finden Sie eine Datei in Linux mit dem Befehl Find

Suchfunktion

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

Foto finden

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

Iname Foto finden

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

Gzip finden

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.txt

Wenn 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.txt

Um 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 -empty

Verzeichnisse 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 testdir

Um alle leeren Verzeichnisse unter „/home“ zu finden, führen Sie aus:

find/home -type d -empty

Dateien 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 -print

Um alle Dateien ohne Berechtigung „777“ zu finden, führen Sie aus:

find . -type f !-perm777

Um alle schreibgeschützten Dateien zu finden, führen Sie aus:

find/home -perm/u=r

Um alle ausführbaren Dateien zu finden, führen Sie aus:

find/home -perm/a=x

Um alle Dateien mit gesetztem Sticky-Bit zu finden, deren Berechtigungen „553“ sind, führen Sie aus:

find/home -perm1553

Um alle SUID-gesetzten Dateien zu finden, führen Sie aus:

find/home -perm/u=s

Um 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 -mtime20

Um alle Dateien im Verzeichnis „/opt“ zu finden, die vor zwanzig Tagen zugegriffen wurden, führen Sie aus:

find/opt -atime20

Um 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-50

Um alle Dateien im Verzeichnis „/opt“ zu finden, die in den letzten zwei Stunden geändert wurden, führen Sie aus:

find/opt -cmin-120

Dateien und Verzeichnisse nach Größe finden

Um alle 10MB Dateien im Verzeichnis „/home“ zu finden, führen Sie aus:

find/home -size 10M

Um 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-50M

Um 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.