Das Auffinden von Daten in einem System mit Tausenden von Dateien wird für Administratoren sehr schwierig, insbesondere für Systembenutzer, die mit der Befehlszeile nicht vertraut sind. Die Suche über die grafische Benutzeroberfläche ist zwar möglich, weist jedoch gewisse Einschränkungen in Bezug auf Geschwindigkeit und Funktionalität auf. Die Befehlszeile bietet Flexibilität, um Dateien mithilfe verschiedener Suchkriterien schnell zu durchsuchen. Unter Linux gibt es mehrere Befehle, die Sie verwenden können, um Dateien und Ordner auf Ihrem System zu finden.
In diesem Artikel lernen wir, wie Sie verschiedene Befehle verwenden, um Dateien und Ordner in Ihrem Debian-System zu finden. Wir werden die folgenden Befehle verwenden, um Dateien zu finden:
- Suchbefehl
- Lokalisieren-Befehl
- Grep-Befehl
Beachten Sie, dass wir Debian 10 und Debian 11 verwendet haben, um die in diesem Artikel erwähnten Befehle und Prozeduren auszuführen.
Mit dem Befehl Suchen
Find ist der effektivste Befehl zum Suchen von Dateien in einem System. Es ist praktisch, auch wenn Sie den Namen der Datei nicht kennen, da es Ihnen ermöglicht, Dateien basierend auf verschiedenen Bedingungen wie Erstellungsdatum, Änderungsdatum, Berechtigungen usw. zu durchsuchen.
Die folgende Syntax kann verwendet werden, um eine Datei mit dem Find-Befehl zu suchen:
$ find /path/to/file/ -iname filename
Um beispielsweise nach einer Datei mit dem Namen „license.pdf“ im Verzeichnis ~/Downloads zu suchen, verwenden Sie den folgenden Befehl:
$ find ~/Downloads/ -iname license.pdf
Denken Sie daran, dass, wenn Sie das Verzeichnis nicht angeben, die Dateien in Ihrem aktuellen Verzeichnis gesucht werden.
Datei mit Platzhalter suchen
Die Platzhalterzeichen können auch verwendet werden, um die Dateien zu finden, die der Abfrage entsprechen.
$ find /path/to/file/ -iname filename\*
Um beispielsweise alle Dateien in einem Verzeichnis zu durchsuchen, das mit dem Wort „test“ beginnt, kann der folgende Befehl verwendet werden:
$ find ~/Downloads -iname test\*
Nach leeren Dateien suchen
Verwenden Sie die folgende Befehlssyntax, um nach leeren Dateien in einem Verzeichnis zu suchen:
$ find /path/to/file/ -empty
Um beispielsweise alle leeren Dateien im Verzeichnis ~/Downloads zu finden, wird der folgende Befehl verwendet:
$ find ~/Downloads/ -empty
Dateien nach Datum und Uhrzeit suchen
Sie können auch nach Dateien suchen, die darauf basieren, wann auf sie zugegriffen oder sie geändert wurden. Sie können anhand der folgenden Bedingungen nach Dateien suchen:
- mtime (Änderungszeit in Tagen)
- atime (Zugriffszeit in Tagen)
- ctime (Änderungszeit in Tagen)
Um Dateien zu finden, die vor weniger als 3 Tagen geändert wurden, verwenden Sie den folgenden Befehl im Terminal:
$ find /path/to/file -mtime -3
Um Dateien zu finden, die vor mehr als 3 Tagen geändert wurden, verwenden Sie auf ähnliche Weise +3.
Um Dateien zu finden, auf die vor weniger als 3 Tagen zugegriffen wurde, verwenden Sie den folgenden Befehl im Terminal:
$ find /path/to/file -atime -3
Um Dateien zu finden, die vor weniger als 3 Tagen geändert wurden, verwenden Sie den folgenden Befehl im Terminal:
$ find /path/to/file -ctime -3
Suche nach Dateigröße
Um nach Dateien basierend auf der Größe zu suchen, verwenden Sie den Schalter -size gefolgt von der Dateigröße. Um die Datei mit einer Größe von 5 KB zu finden, verwenden Sie:
Um Dateien mit einer Größe von weniger als 5 MB zu finden, verwenden Sie:
$ find /path/to/file -size -5M
Um Dateien mit einer Größe von mehr als 5 MB zu finden, verwenden Sie:
$ find /path/to/file -size +5M
Suche basierend auf Dateiberechtigungen
Um Dateien mit bestimmten Berechtigungen zu suchen, verwenden Sie die folgende Syntax:
$ find /path/to/file/ -type -perm mode
Geben Sie d ein oder f nach dem Typparameter, um den Dateityp anzugeben. (d für Verzeichnisse und f für Dateien). Ersetzen Sie Modus mit numerischen (z. B. 777, 655.. etc ) oder symbolischen Berechtigungen (z. B. u=x, a=r+x).
Um beispielsweise nach einer Datei mit der Berechtigung 655 zu suchen, verwenden Sie den folgenden Befehl im Terminal:
$ find /path/to/file -type f -perm 777
Verwendung des Befehls „locate“
Ein weiterer Befehl Locate kann auch verwendet werden, um unter Linux nach Dateien zu suchen. Er bietet nicht so viele Suchkriterien wie der Find-Befehl, ist aber viel schneller und effizienter als der Find-Befehl. Es unterhält seine eigene Datenbank, indem es neue Dateien aufzeichnet, die auf Ihrem System hinzugefügt wurden. Wenn Sie also nach einer Datei suchen, wird sie nicht auf Ihrer Festplatte durchsucht. Stattdessen sucht es in seiner eigenen Datenbank nach der Datei.
Locate installieren
Locate ist in den Linux-Distributionen nicht vorinstalliert. Sie müssen es manuell installieren. Führen Sie den folgenden Befehl in Ihrem Befehlszeilenterminal aus, um das Locate-Dienstprogramm zu installieren.
$ sudo apt-get install locate
Nach der Installation können Sie damit beginnen, nach Dateien in Ihrem System zu suchen.
Die folgende Syntax kann zum Suchen von Dateien verwendet werden:
$ locate –i <path/to/file or filename>
-i wird verwendet, um die Groß-/Kleinschreibung des Dateinamens zu ignorieren.
Nach einer Datei suchen
Um beispielsweise nach einem Dateinamen „Lizenz“ zu suchen, geben Sie den folgenden Befehl im Terminal ein:
$ locate –i license.pdf
Nach mehreren Dateien suchen
Es kann auch verwendet werden, um nach mehreren Dateinamen gleichzeitig zu suchen. Verwenden Sie beispielsweise den folgenden Befehl im Terminal, um nach zwei separaten Dateien „license.pdf“ zu suchen und „Testdatei1“ gleichzeitig:
Suche mit Wildcard
Sie können die Dateien, die der Abfrage entsprechen, auch mithilfe des Platzhalterzeichens finden. Um beispielsweise nach allen Dateien zu suchen, die auf „.ttf“ enden, verwenden Sie den folgenden Befehl im Terminal:
$ locate –i ~/Downloads/*.ttf
Ortungsdatenbank aktualisieren
Der Locate-Befehl hängt von seiner eigenen Datenbank ab, um zu funktionieren. Um also richtig zu funktionieren, muss die Datenbank regelmäßig aktualisiert werden. Führen Sie dazu den folgenden Befehl im Terminal aus:
$ sudo updatedb
Mit Grep Befehl
Der Grep-Befehl wird im Wesentlichen verwendet, um Text aus Dateien zu drucken, die einem bestimmten Muster entsprechen. Sie können es jedoch auch verwenden, um Dateien in einem Verzeichnis zu finden. Beispielsweise suchen wir nach einer Datei, kennen aber den Dateinamen nicht. In diesem Fall können wir seinen Standort mit einem darin enthaltenen Schlüsselwort suchen.
$ grep OPTIONS PATTERN /path/to/file
Wo OPTIONEN enthält einige Suchsteuerungsoptionen und PATTERN enthält das Schlüsselwort, nach dem wir suchen möchten.
Im folgenden Beispiel verwenden wir grep, um die Dateien zu finden, die das Schlüsselwort „Konto“ enthalten.
$ grep –r -i “account” ~/Downloads
Wo
-i wird verwendet, um die Groß-/Kleinschreibung der erwähnten Schlüsselwörter zu ignorieren
-r wird verwendet, um rekursiv im angegebenen Verzeichnis zu suchen
In diesem Artikel haben wir einige Befehlszeilenmethoden besprochen, mit denen Sie Dateien in einem Debian-System finden können. Sie können GUI für die Dateisuche verwenden, aber die Befehlszeile bietet mehr Effizienz in Bezug auf Geschwindigkeit und Funktionalität.