GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So finden Sie Dateien in der Ubuntu-Befehlszeile

Ein typisches Problem bei der Arbeit mit Computern ist, dass Sie die Dateien, die Sie irgendwo gespeichert haben, nicht finden können. Viele GUI-Programme ermöglichen es Ihnen, unabhängig von der Distribution nach Dateien zu suchen, während Sie unter Linux arbeiten. In einigen Situationen haben Sie jedoch nur Zugriff auf das Befehlszeilenterminal, insbesondere wenn Sie Server verwalten oder SSH für den Zugriff auf das System verwenden. Wenn Sie Ihre Dateien nicht finden können, müssen Sie Befehlszeilenprogramme unter Linux verwenden, um danach zu suchen.

Dieses Tutorial zeigt Ihnen, wie Sie das Terminal, das Befehlszeilenprogramm in Ubuntu OS, verwenden, um Dateien zu finden. Auf der Shell gibt es drei bekannte Möglichkeiten, nach Dateien zu suchen:

  1. Suchen Sie Dateien mit Suchen Befehl
  2. Mit Lokalisieren Befehl zum Suchen von Dateien
  3. Mit Grep Befehl zum Suchen in Dateien

Die Befehle Find und Locate werden verwendet, um nach Dateien im System zu suchen, während grep verwendet wird, um Dateien basierend auf dem darin enthaltenen Text zu durchsuchen. Find ist eine langsamere Methode, enthält aber mehrere Suchbedingungen, während Locate nicht so viele Bedingungen enthält, aber viel schneller ist als Find.

Lassen Sie uns mit dem Verfahren beginnen. Wir werden Ubuntu 20.04 LTS verwenden für die Beschreibung des in diesem Artikel erwähnten Verfahrens.

Methode 1:Verwenden des Suchbefehls

Find ist ein sehr flexibler Befehl, der verwendet wird, um Dateien basierend auf einer Vielzahl von Bedingungen zu suchen. Es ist ein sehr hilfreiches Werkzeug, wenn Sie eine Datei suchen, 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 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

Sie können den Befehl Suchen verwenden, um nach allen Dateien in einem bestimmten Verzeichnis zu suchen. Die allgemeine Syntax wäre:

$ find /path/to/file/

Zum Beispiel, um alle Dateien unter /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/

Dateien im aktuellen Verzeichnis suchen

Um nach Dateien in einem aktuellen Verzeichnis zu suchen, verwenden Sie

$ find .

Um im aktuellen Verzeichnis nach einer Datei mit dem Namen z. B. „Software“ zu suchen, verwenden Sie den folgenden Befehl im Terminal:

$ find . -iname Softwares

Suche 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 den folgenden Befehl im Terminal aus:

$ find /home/tin/ -iname cent*

Nach leeren Dateien suchen

Sie können auch mit dem Befehl Suchen nach leeren Dateien suchen. Die allgemeine Syntax wäre:

$ find /path/to/file/ -iname -empty

Zum Beispiel um leere Dateien unter /home/tin zu finden Führen Sie im Terminal-Verzeichnis den folgenden Befehl aus:

$ find /home/tin/ -empty

Suche basierend auf Datum und Uhrzeit

Mit dem Befehl Suchen können Sie auch nach Dateien suchen, je nachdem, wann auf sie zugegriffen oder sie geändert wurden. Es gibt verschiedene Zeittypen, die Sie zum Durchsuchen von Dateien verwenden können:

  • mtime (Änderungszeit) :wann der Inhalt der Datei das letzte Mal geändert wurde.
  • atime (Zugriffszeit) :wann zuletzt auf die Datei zugegriffen wurde.
  • ctime (Zeit ändern) :wann die Dateiattribute zuletzt geändert wurden.

Um beispielsweise nach Dateien in einem aktuellen Verzeichnis zu suchen, die vor weniger als 2 Tagen geändert wurden, führen Sie den folgenden Befehl im Terminal aus:

$ find . -mtime -2

Um nach Dateien zu suchen, auf die vor weniger als 2 Tagen zugegriffen wurde, führen Sie 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 nach Dateigröße

Um beispielsweise eine Datei zu suchen, deren Größe größer als 5 MB ist, können wir den folgenden Befehl im Terminal 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

Wo:

Typ Parameter enthält d oder f Wert, der zum Angeben des Dateityps verwendet wird. d für Verzeichnisse und f nur für Dateien.
Modus kann entweder mit numerischer Berechtigung (z. B. 777, 655 usw.) oder symbolischer Berechtigung (z. B. u=x, a=r+x) erfolgen.

Um beispielsweise nach einer Datei mit der Berechtigung 644 zu suchen, können wir den folgenden Befehl im Terminal verwenden:

$ find . –type f –perm 644

Methode 2:Verwenden des Befehls „Lokalisieren“

Es gibt einen weiteren Befehl Locate, mit dem Sie Dateien in Linux durchsuchen können. Es hat nicht so viele Suchbedingungen wie das Suchdienstprogramm, aber es ist viel besser und schneller als das Suchdienstprogramm. Der Grund dafür ist der Hintergrundprozess, der tatsächlich in Ihrem System läuft und neue Dateien in seiner eigenen Datenbank sucht und speichert. Im Gegensatz zum Find-Befehl durchsucht es nicht Ihre lokale Festplatte nach Dateien und Verzeichnissen, sondern sucht sie stattdessen in seiner eigenen Datenbank. Seine Datenbank sollte regelmäßig aktualisiert werden, damit das Suchdienstprogramm funktioniert.

Locate installieren

Locate wird nicht standardmäßig 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 Locate-Dienstprogramm zu installieren:

$ sudo apt-get install locate

Sobald die Installation abgeschlossen ist, können Sie sofort das Locate-Dienstprogramm verwenden.

Die allgemeine Syntax des Befehls lautet:

$ locate –i filename

Wobei -i verwendet wird, um Groß- und Kleinschreibung zu ignorieren.

Nach einer Datei suchen

Um beispielsweise nach einem Dateinamen „centos“ zu suchen, verwenden Sie den folgenden Befehl im Terminal:

$ locate –i centos

Es wird nach allen Dateien gesucht, deren Dateinamen die Zeichenfolge „centos“ enthalten.

Nach mehreren Dateien suchen

Sie können auch nach mehreren Dateinamen gleichzeitig suchen. Verwenden Sie beispielsweise den folgenden Befehl im Terminal, um nach zwei Dateien „sdn.txt“ zu suchen und „centos“ :

$ locate –i sdn.txt centos

Suche mit Wildcard

Sie können auch das Platzhalterzeichen verwenden, um die Dateien zu finden, die der Abfrage entsprechen. Um beispielsweise nach allen Dateien zu suchen, die auf „.iso“ enden, verwenden Sie den folgenden Befehl im Terminal:

$ locate –i *.iso

Ortungsdatenbank aktualisieren

Der Locate-Befehl ist auf seine Datenbank angewiesen, um zu funktionieren, daher muss er regelmäßig aktualisiert werden. Führen Sie den folgenden Befehl im Terminal aus, um die Datenbank des Locate-Dienstprogramms 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 Durchsuchen 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:

$ grep [Optionen] [Muster] [/Pfad/zu/Datei]
wobei [Optionen] Der Parameter enthält generische Optionen zur Steuerung der Suche und [Muster] enthält Zeichenfolge, die wir suchen möchten.

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 in Terminal danach suchen.

Zum Beispiel, um nach einer Datei zu suchen, die das Wort „Tim und Struppi“ enthält und wir denken, dass diese Datei in unseren Downloads sein könnte Ordner, können wir den folgenden Befehl verwenden, um diese Datei zu finden.

$ grep -r –i “tintin” /home/tin/Downloads

Wo

-i wird verwendet, um Fallunterscheidungen zu ignorieren

–r wird verwendet, um rekursiv nach dem angegebenen Verzeichnis zu suchen

Nach mehreren Wörtern suchen

Sie können auch nach mehreren Zeichenfolgen gleichzeitig suchen. Sie müssen den Backslash „\“ und das Pipe-Zeichen „|“ verwenden. Zeichen zwischen Ihren Zeichenfolgen.

Um beispielsweise nach zwei Zeichenfolgen „tintin“ und „ping“ zu suchen, können wir den folgenden Befehl im Terminal verwenden:

$ grep –r –I “tintin\|ping” /home/tin/Downloads

Das war also der kurze Überblick, wie Sie in Ubuntu über die Befehlszeile nach Dateien suchen können. In diesem Artikel haben wir drei nützliche Befehlszeilenmethoden zum Suchen nach Dateien gesehen. Sie können je nach Suchgeschwindigkeit und -bedingungen eine dieser Methoden auswählen.


Ubuntu
  1. Suchen von Dateien in der Befehlszeile (How To)

  2. So installieren Sie Sicherheitsupdates über die Befehlszeile in Ubuntu

  3. So finden Sie Dateien in CentOS 8 in der Befehlszeile

  4. Wie kann ich das Ubuntu-Telefon sichern?

  5. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

Ein Papierkorb für die Ubuntu-Befehlszeile

So konvertieren Sie Dokumente in das PDF-Format auf der Ubuntu-Befehlszeile

So ändern Sie die Größe von Bildern in der Ubuntu-Befehlszeile

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

So finden Sie Dateien mit dem fd-Befehl in Linux

Finden Sie die Befehlszeile?