Ein häufiges Problem besteht darin, dass Sie die Dateien, die Sie irgendwo abgelegt haben, nicht finden können. Während Sie unter Linux arbeiten, können Sie unabhängig von der Distribution mit vielen GUI-Optionen nach Ihren Dateien suchen. In vielen Fällen haben Sie jedoch nur das Befehlszeilenterminal, insbesondere wenn Sie Server verwalten oder SSH verwenden, um auf das System zuzugreifen. Wenn Sie Ihre Dateien nicht finden können, müssen Sie sie mithilfe von Befehlszeilenanwendungen unter Linux suchen.
Dieser Artikel zeigt Ihnen, wie Sie Dateien mit dem Terminal finden, das die Befehlszeilenanwendung in Ubuntu OS ist., Es gibt drei bekannte Methoden zur Suche nach Dateien in der Shell:
- Mit dem Befehl Find
- Mit dem Befehl Locate
- Mit dem Befehl Grep
Mit den Befehlen Find und Locate werden die Dateien im System gesucht, während grep verwendet wird, um Dateien basierend auf dem darin enthaltenen Text zu suchen. Find ist eine langsamere Methode, enthält jedoch mehrere Suchbedingungen, während Locate nicht so viele Bedingungen enthält, aber viel schneller ist als der Find.
Lassen Sie uns mit dem Verfahren beginnen. Wir werden Ubuntu 18.04 LTS verwenden, um das in diesem Artikel erwähnte Verfahren zu beschreiben.,
Methode 1: Verwenden des Befehls Find
Find ist ein hochflexibler Befehl zum Suchen von Dateien unter verschiedenen Bedingungen. Es ist ein sehr hilfreiches Tool bei der Suche nach einer Datei, für die Sie sich nicht an den Namen der Datei erinnern. Mit dem Befehl Suchen können Sie nach Datei-und Ordnernamen, Erstellungsdatum, Änderungsdatum und Berechtigungen suchen. Sie können diese mehreren Bedingungen in einem einzigen Suchbefehl kombinieren. Es ist ein sehr leistungsfähiges, aber langsameres Suchwerkzeug.,
Die allgemeine Syntax des Befehls lautet:
$ find /path/to/file/ -iname filename
Dateien in einem bestimmten Verzeichnis suchen
Mit dem Befehl Suchen können Sie nach allen Dateien in einem bestimmten Verzeichnis suchen., Die allgemeine Syntax wäre:
$ find /path/to/file/
Um beispielsweise alle Dateien im Verzeichnis /home/tin/Downloads/ zu finden, starten Sie das Terminal durch Drücken von Strg+Alt+T und führen Sie dann den folgenden Befehl im Terminal aus:
$ find /home/tin/Downloads/
Suchen Sie Dateien im aktuellen Verzeichnis
Um nach Dateien in einem aktuellen Verzeichnis zu suchen, verwenden Sie
$ find .
Um nach einer Datei mit dem Namen e zu suchen.,g „software“ Verwenden Sie im aktuellen Verzeichnis den folgenden Befehl im Terminal:
$ find . -iname Softwares
Suchen Sie mit einem Platzhalter
Sie können auch die Platzhalterzeichen verwenden, um die Dateien zu finden, die der Abfrage entsprechen. Die allgemeine Syntax wäre:
$ find /path/to/file/ -iname filename*
Um beispielsweise Dateien zu suchen, die mit dem Wort“ cent“beginnen, führen Sie im Terminal den folgenden Befehl aus:
$ find /home/tin/ -iname cent*
Suche nach leeren Dateien
Sie können auch mit dem Befehl Find nach leeren Dateien suchen., Die allgemeine Syntax wäre:
$ find /path/to/file/ -iname -empty
Um beispielsweise leere Dateien im Verzeichnis /home/tin zu finden, führen Sie im Terminal den folgenden Befehl aus:
$ find /home/tin/ -empty
Suche basierend auf Datum und Uhrzeit
Mit dem Befehl Find können Sie auch nach Dateien suchen, je nachdem, wann sie wurden hinzugefügt oder geändert. Es gibt Arten von Zeit, die Sie verwenden können, um Dateien zu suchen:
- mtime (Änderungszeit): wenn der Inhalt der Datei zuletzt geändert wurde.
- atime (Zugriffszeit): wann auf die Datei zuletzt zugegriffen wurde.,
- ctime (Änderungszeit): wenn die Dateiattribute zuletzt geändert wurden.,führen Sie vor 2 Tagen den folgenden Befehl im Terminal aus:
$ find . –atime -2
Um nach Dateien zu suchen, die vor weniger als 2 Tagen geändert wurden, führen Sie den folgenden Befehl im Terminal aus:
$ find . –ctime -2
Suche basierend auf Dateigröße
Um beispielsweise Dateien zu suchen, deren Größe größer als 5 MB ist, können wir im Terminal den folgenden Befehl verwenden:
$ find . –size +5M\
Suche basierend auf Dateiberechtigungen
Es wird verwendet, um Dateien mit bestimmten Berechtigungen zu finden., Die allgemeine Syntax wäre:
$ find /path/to/file/ -type -perm mode
Wobei:
Der Typparameter enthält den Wert d oder f, der zum Angeben des Typs der Datei verwendet wird. d nur für Verzeichnisse und f nur für Dateien.
Modus kann entweder mit numerischer Berechtigung (zB 777, 655.. etc) oder symbolische Berechtigung (z. B. u=x, a=r+x).,Um beispielsweise mit der Berechtigung von 644 nach einer Datei zu suchen, können wir im Terminal den folgenden Befehl verwenden:
$ find . –type f –perm 644
Methode 2: Mit dem Befehl Locate
gibt es einen anderen Befehl Locate, mit dem Dateien in Linux gesucht werden können. Es hat nicht so viele Suchbedingungen wie das Dienstprogramm Find, aber es ist viel besser und schneller als das Dienstprogramm Find. Der Grund dafür ist der Hintergrundprozess, der tatsächlich in Ihrem System ausgeführt wird und neue Dateien in einer eigenen Datenbank sucht und speichert., Im Gegensatz zum Befehl Find durchsucht es Ihre lokale Festplatte nicht nach Dateien und Verzeichnissen, sondern durchsucht sie in einer eigenen Datenbank. Die Datenbank sollte regelmäßig aktualisiert werden, damit das Suchdienstprogramm funktioniert.
Installieren von Locate
Locate ist standardmäßig nicht im Linux-Betriebssystem installiert. Sie müssen es manuell installieren. Drücken Sie Strg+Alt+T, um das Terminal zu starten, und geben Sie dann den folgenden Befehl als sudo ein, um das Dienstprogramm Locate zu installieren:
$ sudo apt-get install locate
Sobald die Installation abgeschlossen ist, können Sie das Dienstprogramm Locate sofort verwenden.,
Die allgemeine Syntax des Befehls lautet:
$ locate –i filename
Wobei-i verwendet wird, um Fallunterschiede zu ignorieren.
Suche nach einer Datei
Um beispielsweise nach einem Dateinamen „centos“ zu suchen, verwenden Sie im Terminal den folgenden Befehl:
$ locate –i centos
Es wird nach allen Dateien gesucht, die die Zeichenfolge „centos“ in ihren Dateinamen enthalten.
Suche nach mehreren Dateien
Sie können auch mehrere Dateinamen gleichzeitig suchen. Verwenden Sie beispielsweise den folgenden Befehl im Terminal, um nach zwei Dateien „sdn“ zu suchen.,txt „und “ centos“:
$ locate –i sdn.txt centos
Suche mit Platzhalter
Sie können auch das Platzhalterzeichen verwenden, um die Dateien zu finden, die der Abfrage entsprechen. Zum Beispiel, um nach allen Dateien zu suchen, die auf „enden.iso“ verwenden Sie den folgenden Befehl im Terminal:
$ locate –i *.iso
locate-Datenbank Aktualisieren
– Befehl Locate stützt sich auf seine Datenbank zu arbeiten, so muss es regelmäßig aktualisiert werden., Führen Sie den folgenden Befehl im Terminal aus, um die Locate Utility-Datenbank zu aktualisieren:
$ sudo updatedb
Methode 3: Verwenden des Grep-Befehls
Obwohl Grep nicht zum direkten Durchsuchen von Dateien in Ihrem System dient, wird es stattdessen zum Suchen von Text verwendet. Sie können es jedoch verwenden, um die Namen von Dateien anzuzeigen, die die bestimmte Zeichenfolge enthalten, die Ihrer Suchanfrage entspricht. Um nach einer Zeichenfolge zu suchen, müssen Sie sie in doppelte Anführungszeichen setzen.,
Die allgemeine Syntax des Befehls lautet:
Wenn Sie nach einer Datei suchen, die ein Wort enthält, von dem Sie vermuten, dass es sich in einem bestimmten Verzeichnis befindet, können Sie mit der obigen Befehlssyntax im Terminal danach suchen.
Um beispielsweise nach einer Datei zu suchen, die das Wort „Tim und Struppi“ enthält, und wir denken, dass sich diese Datei möglicherweise in unserem Download-Ordner befindet, können wir den folgenden Befehl verwenden, um diese Datei zu finden.,
$ grep -r –i "tintin” /home/tin/Downloads
Wobei
-i verwendet wird, um Fallunterschiede zu ignorieren
–r wird verwendet, um rekursiv nach dem angegebenen Verzeichnis zu suchen
Suche nach mehreren Wörtern
Sie können auch gleichzeitig nach mehreren Zeichenfolgen suchen. Sie müssen Backslash „\“ und Pipe sign „|“ Zeichen unter Ihren Strings verwenden.,
Um beispielsweise nach zwei Zeichenfolgen „Tim und Struppi“ und „ping“ zu suchen, können wir im Terminal den folgenden Befehl verwenden:
$ grep –r –I "tintin\|ping” /home/tin/Downloads
Das war die kurze Übersicht darüber, wie Sie mit der Befehlszeile in Ubuntu nach Dateien suchen können. In diesem Artikel haben wir drei nützliche Befehlszeilenmethoden zum Suchen nach Dateien gesehen. Sie können eine dieser Methoden abhängig von der Suchgeschwindigkeit und den Bedingungen auswählen.
So finden Sie Dateien in der Ubuntu-Befehlszeile