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

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

In diesem Artikel wird erläutert, wie Sie Dateien und Verzeichnisse in Linux finden können. Wir werden die Befehle locate, find und grep verwenden. Jeder Befehl wird unten im Detail besprochen.

Wir haben Ubuntu 20.04 LTS verwendet um den Vorgang zu demonstrieren.

Mit dem Locate-Befehl Dateien und Verzeichnisse in Linux finden

Der Befehl locate liefert schnellere Ergebnisse, da er die mlocate.db-Datenbank durchliest, die alle Dateipfade in Ihrem System enthält.

locate installieren

Wenn Sie die folgende Meldung erhalten, müssen Sie locate.

installieren

Der Befehl zum Installieren von locate lautet:

sudo apt-get install mlocate

Der erste Schritt ist die Eingabe Ihres Passworts. Sobald Sie Ihr Passwort eingegeben haben, beginnt die Installation.

Sie müssen die Suchdatenbank nach der Installation aktualisieren. Da locate auf diese Datenbank angewiesen ist, müssen Sie sie regelmäßig aktualisieren, um die Effizienz zu gewährleisten. Sie benötigen Superuser-Rechte, um die mlocate-Datenbank zu aktualisieren.

sudo updatedb

Suche nach Dateien anhand des Dateinamens

Verwenden Sie den folgenden Befehl, um anhand ihres Namens nach Dateien zu suchen:

locate {filename}

Wir suchen nach einer Datei namens „textfile.txt“, also lautet der Befehl:

locate textfile.txt

Das Ergebnis ist der Pfad zum Speicherort Ihrer Datei.

Groß-/Kleinschreibung ignorieren

Standardmäßig verarbeitet locate Anfragen unter Berücksichtigung der Groß- und Kleinschreibung, was bedeutet, dass textfile.txt und TEXTFILE.TXT auf unterschiedliche Suchergebnisse verweisen.

Wie Sie sehen können, konnte TEXTFILE.TXT nicht gefunden werden.

Sie können die Groß-/Kleinschreibung ignorieren, indem Sie das –i verwenden Möglichkeit. Der Befehl lautet:

locate –i {file name}

Wie Sie sehen können, wurde die Datei nun gefunden.

Mit dem find-Befehl Dateien und Verzeichnisse in Linux finden

Im Vergleich zu Lokalisieren ist Finden viel leistungsfähiger, aber langsamer. Es ist langsamer, weil es Ihre Festplatte nach den Dateien durchsucht. Was find großartig macht, ist, dass Sie Dateien und Verzeichnisse in Linux basierend auf Benutzergruppen finden können, wann die Dateien geändert oder aufgerufen wurden, Dateiberechtigungen, Daten und Größe.

Dateien im aktuellen Verzeichnis suchen

Sie können alle Dateien mit einem bestimmten Namen in Ihrem aktuellen Verzeichnis anzeigen, indem Sie den folgenden Befehl verwenden:

find . -name {filename}

Sie sehen alle Dateien mit dem Namen „textfile.txt“ im aktuellen Verzeichnis.

Nach Dateien im Home-Verzeichnis suchen

Verwenden Sie /home, um nach Dateien in Ihrem Home-Verzeichnis zu suchen . Der Befehl lautet:

find /home -name {filename}

Sie werden alle Dateien mit dem Namen Hello.txt in Ihrem Home-Verzeichnis sehen.

Groß-/Kleinschreibung ignorieren

Standardmäßig verarbeitet find Anfragen unter Berücksichtigung der Groß- und Kleinschreibung, was bedeutet, dass hello.txt und hello.txt auf unterschiedliche Suchergebnisse verweisen.

Wie Sie sehen, konnte hello.txt nicht gefunden werden.

Verwenden Sie den folgenden Befehl, um die Groß-/Kleinschreibung zu ignorieren:

find –iname {file name}

Wie Sie im Bild unten sehen können, wurde hello.txt gefunden.

Suchen mit Platzhaltern

Sie können Platzhalter verwenden, um anhand bestimmter Kriterien nach Dateien zu suchen. Das Sternchen (* ) Platzhalter ermöglicht es Ihnen, Instanzen eines Zeichens abzugleichen.

Das folgende Beispiel verwendet die folgenden Befehle:

find . –name ‘*he’

Dieser Befehl listet alle Dateinamen auf, die mit „he“

enden

find . –name ‘he*’

Dieser Befehl listet alle Dateinamen auf, die mit „he“

beginnen

Suchen anhand der Dateigröße

Um Dateien basierend auf der Größe zu finden, verwenden Sie:

find –size {filesize} –type f

Dieser Befehl sucht nach Dateien, die eine Größe von 68 Bytes haben.

Um nach Dateien zu suchen, die größer oder kleiner als eine bestimmte Größe sind, fügen Sie „+ hinzu “ oder „ ” zu Ihrem Befehl.

find –size -{filesize} –type f

Das folgende Beispiel sucht nach Dateien, die kleiner als 512 Byte sind.

Dieser Befehl sucht nach Dateien, die größer als 512 Bytes sind.

Suchen Sie Dateien anhand des Zeitpunkts ihrer letzten Änderung

Verwenden Sie den folgenden Befehl, um nach Dateien zu suchen, die darauf basieren, wann sie zuletzt geändert wurden:

find -iname "*.txt" -mtime -60

Dieser Befehl sucht nach Dateien, die in den letzten 60 Tagen geändert wurden.

Verzeichnisse suchen

Um ein Verzeichnis zu finden, verwenden Sie den Befehl:

find –name “{file name}” –type d

Als Ergebnis sehen Sie den Pfad zum Verzeichnis.

Schreibgeschützte Dateien finden

Um schreibgeschützte Dateien zu finden, verwenden Sie den Befehl

find / -perm /u=r

Sie können alle schreibgeschützten Dateien im Terminal sehen.

Grep-Befehl verwenden, um Dateien und Verzeichnisse in Linux zu finden

Grep, Global Regular Expression Print wird unter Linux verwendet, um Zeichenfolgen in einer bestimmten Datei zu finden. Wenn grep diese Zeichen findet, gibt es die Zeile aus. Der Befehl lautet:

grep {string} {file name}

Im folgenden Beispiel suchen wir in der Datei „textfile.txt“ nach der Zeichenfolge „is“. Sie können die Zeilen sehen, die das „ist“.

enthalten

Zeilennummern drucken

Sie drucken die Zeilennummern zusammen mit dem passenden String aus mit:

grep {string} {filename} –n

Das folgende Beispiel gibt die Zeilennummer aus, in der die Zeichenfolge „is“ gefunden wird.

Übereinstimmung umkehren

Mit dieser Option können Sie die Linien drucken, die nicht mit dem eingegebenen Muster übereinstimmen.

grep {string} {file name} –v

Das folgende Beispiel gibt die Zeile aus der Textdatei „textfile.txt“ aus, die „is“ nicht enthält.

Groß-/Kleinschreibung ignorieren

Standardmäßig verarbeitet grep Abfragen unter Berücksichtigung der Groß- und Kleinschreibung, was bedeutet, dass is und IS auf unterschiedliche Suchergebnisse zeigen.

Wie Sie sehen, konnte „IS“ nicht gefunden werden.

Verwenden Sie den folgenden Befehl, um die Groß-/Kleinschreibung zu ignorieren:

grep {string} {file name} –i

Rekursive Suche

Grep lässt Sie standardmäßig keine Verzeichnisse durchsuchen. Sie erhalten die folgende Fehlermeldung:

Sie können innerhalb von Verzeichnissen suchen mit:

grep {string} . –R

Im folgenden Beispiel wird im aktuellen Verzeichnis nach der Zeichenfolge „some“ gesucht.

In diesem Artikel haben wir gesehen, wie locate, find und grep funktionieren, um Dateien und Verzeichnisse in Linux zu finden. Wir haben auch einige Fälle durchgesehen, wie sie verwendet werden.


Ubuntu
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. Finden Sie Dateien und Verzeichnisse in Linux wie ein Profi

  3. Finden Sie die größten Dateien und Verzeichnisse in Linux

  4. Linux-Suchbefehle

  5. So finden und löschen Sie leere Verzeichnisse und Dateien in Linux

So komprimieren Sie Dateien und Verzeichnisse unter Linux

Die 3 besten Tools zum Suchen und Löschen doppelter Dateien in Linux

So finden und löschen Sie leere Verzeichnisse in Linux

So benennen Sie Dateien und Verzeichnisse in Linux um

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux