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

Zwei Befehle zum einfachen Auffinden von Dateien und Verzeichnissen in Debian 11

Grundsätzlich ist alles in Linux eine Datei. Aber bevor Sie eine Datei bearbeiten können, müssen Sie sie in Ihrem System finden können.

Über die Linux-Dateisuche

In diesem Artikel beschreibe ich kurz zwei Befehle im Detail mit nützlichen Beispielen, um mit dem Terminal nach Dateien zu suchen. Die beiden Befehle sind der Suchbefehl und der locate-Befehl . Der Unterschied zwischen den beiden Befehlen besteht darin, dass find eine Suche in Echtzeit durchführt und locate eine indizierte Datenbank für die Suche verwendet. Dies bedeutet, dass der Befehl locate normalerweise schneller ist, aber davon ausgeht, dass sich die gesuchte Datei in ihrer Indexdatenbank befindet und diese Datenbank normalerweise nachts erstellt wird, sodass neuere Dateien vom Befehl locate nicht gefunden werden. Ich verwende Debian 11 in meiner Umgebung. Aber die Befehle sollten auf anderen Linux-Distributionen gleich sein.

Wenn Sie Dateien anhand ihres Inhalts statt anhand des Dateinamens suchen möchten, sehen Sie sich stattdessen den grep-Befehl an.

Suchen nach Dateien und Verzeichnissen mit dem Find-Befehl

Datei im aktuellen Verzeichnis suchen

Wenn Sie eine Datei mit dem Befehl find suchen möchten, führen Sie einen der folgenden Schritte auf Ihrem Terminal aus.

find <filname>

Angenommen,

find test.txt

Dadurch wird die Datei im aktuellen Verzeichnis, in dem Sie gerade arbeiten, gesucht.

Datei in einem anderen Verzeichnis suchen

Nun, wenn Sie die Datei in einem bestimmten Verzeichnis suchen möchten. Der vollständige Befehl sollte wie folgt aussehen:

find <path of directory/filename>

Angenommen, Sie möchten eine Datei mit dem Namen „test.txt“ in „Dokumente“ durchsuchen, sollte der vollständige Befehl wie folgt lauten.

find Documents/test.txt

Dateien nach Dateierweiterung suchen

Wenn Sie nun alle Textdateien in Ihrem aktuellen oder bestimmten Verzeichnis finden möchten, sollten die entsprechenden Befehle wie folgt aussehen.

find *.txt
find <path of directory/*.txt>

Angenommen, Sie möchten alle Textdateien im Pfad von Documents/Karim durchsuchen, der vollständige Befehl sollte wie folgt aussehen.

find Documents/Karim/*.txt

Dateien nach Namen suchen

Alternativ können Sie den Schalter -name verwenden, wenn Sie eine Datei nach Namen suchen möchten.

find <path> -name <name of file you want to search>

Angenommen, Sie möchten eine Datei namens test1.txt unter Documents/Karim suchen. Der vollständige Befehl sollte wie folgt aussehen.

find Documents/Karim -name test1.txt

Wenn Sie eine bestimmte Datei im aktuellen Verzeichnis suchen möchten, an dem Sie gerade arbeiten. Stellen . unter dem im Beispiel gezeigten Pfad.

find . -name test1.txt

Groß-/Kleinschreibung bei der Suche nach Dateien ignorieren

Wenn Sie eine Datei suchen und die Groß-/Kleinschreibung ignorieren möchten, verwenden Sie den Schalter -iname. Der vollständige Befehl sollte wie folgt aussehen.

find . -iname test.txt

Dateien nach Dateityp suchen, z. Symlinks

Um nach einem bestimmten Dateityp zu suchen, verwenden Sie die Option -type. Der vollständige Befehl sollte wie folgt aussehen.

find <path> -type <c>
ein
  • c gibt den Dateityp an und sie folgen.
  • b block (buffered) special
  • c Zeichen (ungepuffert) spezial
  • d Verzeichnis
  • p benannte Pipe
  • f normale Datei
  • l Symbolischer Link
  • D Tür (Solaris)

Angenommen, Sie möchten normale Dateien unter Documents/Karim durchsuchen, führen Sie den folgenden Befehl aus.

find Documents/Karim -type f

Wenn Sie in Ihrem aktuellen Verzeichnis nach regulären Dateien suchen möchten. Der vollständige Befehl sollte wie folgt aussehen.

find . -type f

Wenn Sie Dateien mit mehreren Erweiterungen suchen möchten, verwenden Sie die durch Kommas getrennten c-Zeichen.

Angenommen, Sie möchten alle regulären leeren Dateien in Ihrem aktuellen Verzeichnis finden.

find . -type f -empty

Angenommen, Sie möchten alle leeren Verzeichnisse in Ihrem aktuellen Verzeichnis finden, verwenden Sie die Optionen -d und -empty in einem Find-Befehl wie folgt.

find . -type d -empty

Dateien nach Größe suchen

Wenn Sie Dateien mit einer bestimmten Größe finden möchten, können Sie den Parameter -size verwenden. Sie können das folgende Suffix mit ihrer genauen Größe verwenden.

  • c :Bytes
  • k :Kilobyte
  • M :Megabyte
  • G :Gigabyte
  • b :512-Byte-Block

Angenommen, Sie möchten alle Dateien in Ihrem aktuellen Verzeichnis finden, die genau 50 Byte groß sind. Sie müssen den folgenden Befehl ausführen.

find . -size 50c

Angenommen, Sie möchten alle Dateien in Ihrem aktuellen Verzeichnis finden, die größer als 50 Byte bzw. kleiner als 50 Byte sind, müssen Sie einen der folgenden Befehle ausführen.

find . -size +50c
find . -size -50c

Dateien nach Eigentümer (Benutzer) suchen

Wenn Sie nach einer Datei suchen möchten, die einem bestimmten Benutzer gehört, können Sie die Option -user verwenden. Die Syntax des Befehls sollte wie folgt lauten.

find <path> -user <username>

Angenommen, Sie möchten eine Datei in Ihrem aktuellen Verzeichnis suchen, die vitux gehört. Der Befehl sollte wie folgt aussehen.

find . -user vitux

Suchen von Dateien mit einem Suchbefehl

Zweitens gibt es den locate-Befehl, mit dem Sie Dateien und Verzeichnisse in Ihrem System durchsuchen können.

Zunächst müssen Sie das Suchdienstprogramm auf Ihrem Debian 11-Rechner installieren. Melden Sie sich mit root an und führen Sie den folgenden Befehl auf Ihrem Terminal aus. Drücken Sie Y auf Ihrer Tastatur, wenn Sie zur Bestätigung aufgefordert werden.

apt-get install locate

Warten Sie, bis ein Vorgang abgeschlossen ist.

Locate ist ein schnellerer Befehl und stützt sich auf die Datenbank des Dateisystems. Es wird einmal täglich aktualisiert, aber wenn Sie es manuell aktualisieren möchten, führen Sie den folgenden Befehl auf Ihrem Terminal mit Root-Rechten aus.

updatedb

Um eine Datei mit dem Befehl locate in Ihrem aktuellen Verzeichnis zu suchen, führen Sie Folgendes auf Ihrem Terminal aus.

locate <filename>

Angenommen, mein Dateiname ist test.txt. Der vollständige Befehl sollte wie folgt aussehen.

find test.txt

Sie können die Option -i verwenden, um die Groß-/Kleinschreibung des Dateinamens zu ignorieren.

locate -i <filename>

oder

locate -i test.txt

Sowohl die Befehle locate als auch find sind beim Durchsuchen der Dateien hilfreich. Es liegt an Ihnen, welchen der Befehle Sie hauptsächlich verwenden. Sie können mit anderen Befehlen erweitert werden, indem man pipe, wc, sort und grep usw. verwendet.


Debian
  1. Eine einfache Möglichkeit, Dateien und Verzeichnisse in Linux zu verstecken

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

  3. Löschen Sie Dateien und Verzeichnisse anhand ihrer Namen. Keine solche Datei oder Ordner?

  4. Suchen Sie eine Datei mit den Befehlen Suchen und Suchen in Linux

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

So finden Sie Dateien in Debian 10

So löschen Sie Dateien und Verzeichnisse mit dem Terminal in Debian 10

So benennen Sie Dateien und Verzeichnisse in Linux um

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Stat-Befehl:Attribute von Dateien und Verzeichnissen anzeigen