Der Befehl Linux find ist einer der wichtigsten und nützlichsten Befehle in Linux-Systemen. Es kann, wie der Name schon sagt, Dateien auf Ihrem Linux-PC finden, basierend auf den von Ihnen eingestellten Bedingungen und Variablen. Mit dem Befehl find können Sie Dateien nach Berechtigungen, Benutzern, Gruppen, Dateityp, Datum, Größe und anderen möglichen Kriterien find .

Der Befehl find ist standardmäßig auf den meisten Linux-Distributionen verfügbar, sodass Sie kein Paket dafür installieren müssen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Dateien unter Linux finden, indem Sie verschiedene gebräuchliche Kombinationen von Suchausdrücken in der Befehlszeile verwenden.

Suchen Sie nach Dateien in aktuellen Verzeichnissen

Die offensichtlichste Art der Suche nach Dateien ist der Name. Um eine Datei nach Namen im aktuellen Verzeichnis zu suchen, führen Sie Folgendes aus:

 finden . -name foto.png 

Wenn Sie eine Datei nach Namen suchen möchten, die sowohl Groß- als auch Kleinbuchstaben enthält, führen Sie Folgendes aus:

 finden . -iname Foto.png 

Wenn Sie eine Datei im Stammverzeichnis suchen möchten, setzen Sie Ihre Suche mit sudo wodurch Sie alle erforderlichen Berechtigungen erhalten, und auch das Symbol '/', das Linux anweist, im Stammverzeichnis zu suchen. Abschließend zeigt der Ausdruck -print die Verzeichnisse Ihrer Suchergebnisse an. Wenn Sie nach Gzip suchen, geben Sie Folgendes ein:

 sudo finde /name gzip -print 

Suchen Sie Dateien unter bestimmten Verzeichnissen

Wenn Sie Dateien in einem bestimmten Verzeichnis wie "/ home" suchen möchten, führen Sie Folgendes aus:

 find / home-name filename.txt 

Wenn Sie Dateien mit der Erweiterung ".txt" im Verzeichnis "/ home" finden möchten, führen Sie Folgendes aus:

 suche / home-name * .txt 

Um Dateien mit dem Namen "test.txt" unter mehreren Verzeichnissen wie "/ home" und "/ opt" zu finden, führen Sie Folgendes aus:

 finden / home / opt-name test.txt 

Um versteckte Dateien im Verzeichnis "/ home" zu finden, führen Sie Folgendes aus:

 find / home-name ". *" 

Um eine einzelne Datei namens "test.txt" zu finden und sie zu entfernen, führen Sie Folgendes aus:

 find / home -type f -name test.txt -exec rm -f {} 

Um alle leeren Dateien im Verzeichnis "/ opt" zu finden, führen Sie Folgendes aus:

 find / opt -type f -leer 

Suchen Sie nach Verzeichnissen, die Name verwenden

Wenn Sie alle Verzeichnisse mit dem Namen "testdir" im Verzeichnis "/ home" finden möchten, führen Sie Folgendes aus:

 find / home -type d -name testdir 

Um alle leeren Verzeichnisse unter "/ home" abzulegen, führen Sie Folgendes aus:

 find / home -type d-leer 

Suchen Sie nach Dateien mit bestimmten Berechtigungen

Der Befehl find kann verwendet werden, um Dateien mit einer bestimmten Berechtigung mit der Option perm zu finden.

Um alle Dateien mit den Berechtigungen "777" im Verzeichnis "/ home" zu finden, führen Sie Folgendes aus:

 find / home -type f -perm 0777 -print 

Um alle Dateien ohne Erlaubnis "777" zu finden, führen Sie:

 finden . -Typ f! -perm 777 

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

 finden / home-perm / u = r 

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

 find / home -perm / a = x 

Um alle Sticky-Bit-Set-Dateien zu finden, deren Berechtigungen "553" lauten, führen Sie Folgendes aus:

 find / home -perm 1553 

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

 finden / home-perm / u = s 

Um alle Dateien zu finden, deren Berechtigungen "777" sind und ihre Berechtigungen auf "700" ändern, führen Sie Folgendes aus:

 find / home -type f -perm 0777 -print -exec chmod 700 {}; 

Suchen Sie nach Datum und Uhrzeit nach Dateien und Verzeichnissen

Um alle Dateien unter "/ opt" zu finden, die 20 Tage zuvor geändert wurden, führen Sie Folgendes aus:

 finde / opt -time 20 

Um alle Dateien unter "/ opt" zu finden, auf die zwanzig Tage zuvor zugegriffen wurde, führen Sie Folgendes aus:

 finden / opt -time 20 

Um alle Dateien unter "/ opt" zu finden, die mehr als 30 Tage früher und weniger als 20 Tage nach

 find / opt -time +30 -m -50 

Um alle Dateien unter "/ opt" zu finden, die in den letzten zwei Stunden geändert wurden, führen Sie Folgendes aus:

 find / opt -cmin -120 

Finden Sie Dateien und Verzeichnisse basierend auf Größe

Um alle 10 MB-Dateien im "/ home" -Verzeichnis zu finden, führen Sie Folgendes aus:

 finden / home - Größe 10M 

Um alle Dateien im Verzeichnis "/ home" zu finden, die größer als 10 MB und kleiner als 50 MB sind, führen Sie Folgendes aus:

 find / home -größe + 10M -größe -50M 

Um alle ".mp4" -Dateien im Verzeichnis "/ home" mit mehr als 10 MB zu finden und sie mit einem einzigen Befehl zu löschen, führen Sie Folgendes aus:

 find / home -type f -name * .mp4 -size + 10M -exec rm {}; 

Fazit

Und da ist es - eine gesunde Liste von Möglichkeiten, die gewünschten Dateien auf Linux zu finden. Es ist vielleicht nicht so einfach wie Ihre rudimentäre Windows-Suche, aber es ist viel detaillierter und spezifischer. Gibt es hier Befehle, die wir verpasst haben? Lass es uns in den Kommentaren wissen!

Bildnachweis: Kontrolle über DepositPhotos