So finden Sie eine Datei in Linux mit dem Befehl Suchen
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