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

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

In diesem Beitrag werden wir uns den Linux find ansehen Befehl und wie man Dateien mit unterschiedlichen Attributen sucht und findet.

Linux-Suchbefehl

Das Linux find Der Befehl ist ein integriertes leistungsstarkes Tool, mit dem Sie Dateien und Verzeichnisse basierend auf einer Vielzahl von Suchkriterien finden und verwalten können.

Beispielsweise können wir Dateien anhand ihres Namens, ihrer Erweiterung, Größe, Berechtigungen usw. finden. Wir können auch den find verwenden Befehl, nach einem bestimmten Text in einer Datei zu suchen, deren Namen wir nicht kennen.

Sehen wir uns die Verwendung von find an Befehl mit Beispielen:

Suche nach einer Datei nach Namen

Wenn Sie den Namen einer Datei kennen, sich aber nicht an das Verzeichnis erinnern können, in dem sie sich befindet, können Sie den folgenden Befehl aus dem Stammverzeichnis verwenden:

find . -name sales.csv

Beispielausgabe:

./accounts/sales.csv

Suche nach einer bestimmten Datei in einem Verzeichnis

Wenn Sie nach bestimmten Dateien in einem Verzeichnis suchen möchten, können wir Folgendes verwenden:

find ./test -name testCases*

Beispielausgabe:

./test/testCases10.txt
./test/testCasesPassed.txt
./test/testCasesFailed.log

Im obigen Fall suchen wir nur innerhalb des „./test“-Verzeichnisses.

Dateien nach Erweiterung suchen

Um Dateien mit einer bestimmten Erweiterung zu suchen und zu finden, verwenden wir:

find . -name *.jpg

Beispielausgabe:

./test/results/failedTests.jpg
./test/project.jpg
./home/profile_pic.jpg
./tmp/cute-cats.jpg

Dateien oder Verzeichnisse mit bestimmten Namen finden

Um nur Dateien zu finden, müssen wir den -f verwenden Möglichkeit:

find ./ -type f -name "results*"

Beispielausgabe:

./test/results_latest.log
./test/results_archive.pdf

Um nur Verzeichnisse zu finden, müssen wir den -d verwenden Möglichkeit:

find ./ -type d -name "results*"

Beispielausgabe:

./test/results

Dateien in mehreren Verzeichnissen finden

Wenn Sie alle Dateien mit einem bestimmten Namen in mehreren Verzeichnissen suchen und auflisten möchten, können Sie die Suche entweder im Stammverzeichnis starten oder, wenn Sie die Verzeichnisse kennen, diese angeben.

Beispiel:

find ./test ./logs -name failed*.* -type f

Beispielausgabe:

./test/failed_tests.txt
./logs/failed_tests.log

Finde Dateien, die einen bestimmten Text enthalten

Manchmal möchten Sie eine Datei finden und kennen ihren Namen nicht, aber Sie wissen, dass sie einen bestimmten Text enthält.

Sie können Folgendes verwenden:

find ./test -type f -exec grep -l -i "login_scenarios" {} ;

Hier die -i Die Option wird verwendet, um Groß- und Kleinschreibung zu ignorieren, sodass sowohl Login_Scenarios als auch Login_Scenarios gefunden werden.

Dateien nach Größe suchen

Wir können sogar Dateien in verschiedenen Größen finden. Größenoptionen sind:

  • c Bytes
  • k Kilobyte
  • M Megabyte
  • G Gigabyte

Um beispielsweise Dateien mit einer genauen Größe zu finden, verwenden wir:

find / -size 10M

Und um Dateien zu finden, die eine bestimmte Größe überschreiten, verwenden wir:

find ./test -size +2M

Oben werden alle Dateien gefunden, die größer als 2 MB im Ordner ./test sind.

Suchen und löschen Sie bestimmte Dateien

Um bestimmte Dateien zu finden und zu löschen, verwenden wir:

find . -type f -name "temp*" -exec rm {} ;

Schlussfolgerung

In diesem Artikel haben Sie gelernt, wie Sie den Linux-Befehl find verwenden, um anhand von Name, Erweiterung, Größe und Typ nach Dateien zu suchen.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. Wie verwende ich den Rsync-Befehl unter Linux?

So finden Sie Dateien mit dem fd-Befehl in Linux

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux