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

So suchen Sie nach Dateien über die Linux-Befehlszeile

Die Suche nach Dateien ist relativ einfach, wenn Sie eine GUI verwenden. In bestimmten Umgebungen wie Servern ohne GUI müssen Sie jedoch über die Befehlszeile nach Dateien suchen.

Es gibt einen leistungsstarken Befehl in Linux, der Ihnen bei der Suche nach Dateien und Ordnern mit dem Namen find hilft . In diesem Artikel besprechen wir den find Befehl mit einigen Beispielen.

Was ist der find-Befehl in Linux?

Der find Mit dem Befehl können Sie effizient nach Dateien, Ordnern und Zeichen- und Blockgeräten suchen.

Unten ist die grundlegende Syntax von find Befehl:

find /path/ -type f -name file-to-search

Wo,

  • /path ist der Pfad, in dem die Datei erwartet wird. Dies ist der Ausgangspunkt für die Suche nach Dateien. Der Pfad kann auch / sein oder . die das Stammverzeichnis bzw. das aktuelle Verzeichnis darstellen.
  • -type stellt die Dateideskriptoren dar. Sie können eine der folgenden sein:

fNormale Datei wie Textdateien, Bilder und versteckte Dateien.

dVerzeichnis . Dies sind die betrachteten Ordner.

lSymbolischer Link . Symbolische Links verweisen auf Dateien und ähneln Verknüpfungen.

cZeichengeräte . Dateien, die für den Zugriff auf Zeichengeräte verwendet werden, werden als Zeichengerätedateien bezeichnet. Treiber kommunizieren mit Zeichengeräten, indem sie einzelne Zeichen (Bytes, Oktette) senden und empfangen. Beispiele sind Tastaturen, Soundkarten und Mäuse.

bGeräte blockieren . Dateien, die für den Zugriff auf Blockgeräte verwendet werden, werden als Blockgerätedateien bezeichnet. Treiber kommunizieren mit Blockgeräten, indem sie ganze Datenblöcke senden und empfangen. Beispiele sind USB, CD-ROM

  • -name ist der Name des Dateityps, den Sie durchsuchen möchten.

Beispiele für den find-Befehl

Jetzt kennen wir die Syntax von find Befehl, sehen wir uns einige Beispiele an.

So suchen Sie Dateien nach Namen oder Erweiterung

Angenommen, wir müssen Dateien finden, die "Stil" in ihrem Namen enthalten. Wir verwenden diesen Befehl:

find . -type f -name style*

Ausgabe

Nehmen wir nun an, wir möchten Dateien mit einer bestimmten Erweiterung wie .html finden . Wir ändern den Befehl wie folgt:

find . -type f -name *.html

Ausgabe

So suchen Sie versteckte Dateien

Versteckte Dateien werden durch einen Punkt am Anfang des Dateinamens dargestellt. Sie sind normalerweise versteckt, können aber mit ls -a angezeigt werden im aktuellen Verzeichnis.

Wir können find ändern Befehl wie unten gezeigt, um nach versteckten Dateien zu suchen.

find . -type f -name ".*"

Ausgabe

So suchen Sie Protokolldateien und Konfigurationsdateien

Protokolldateien haben normalerweise die Erweiterung .log , und wir können sie so finden:

 find . -type f -name "*.log"

Ausgabe

Ebenso können wir wie folgt nach Konfigurationsdateien suchen:

 find . -type f -name "*.conf"

So suchen Sie andere Dateien nach Typ

Wir können nach Zeichenblockdateien suchen, indem wir c angeben -type :

find / -type c

Auf ähnliche Weise können Geräteblockdateien mit b gefunden werden :

find / -type b

Wie man Verzeichnisse durchsucht

Im folgenden Beispiel finden wir die Ordner mit dem Namen lib . Beachten Sie, dass wir -type d verwenden .

find . -type d -name "lib*"

Ausgabe

💡 Tipp:Wir können Verzeichnisse anhand des d identifizieren Flag in der Ausgabe von ls -lrt .

So suchen Sie Dateien nach Größe

Eine unglaublich hilfreiche Verwendung von find Der Befehl besteht darin, Dateien basierend auf einer bestimmten Größe aufzulisten.

find / -size +250MB

Andere Einheiten sind:

  • G :Gigabyte.
  • M :Megabyte.
  • K :KiloBytes
  • b :Bytes.

Ersetzen Sie einfach durch die entsprechende Einheit.

find <directory> -type f -size +N<Unit Type>

So suchen Sie Dateien nach Änderungszeit

find /path -name "*.txt" -mtime -10 

  • -mtime +10 bedeutet, dass Sie nach einer Datei suchen, die vor 10 Tagen geändert wurde.
  • -mtime -10 bedeutet weniger als 10 Tage.
  • -mtime 10 Wenn Sie + oder – überspringen, bedeutet dies genau 10 Tage.

Unten ist der Inhalt meines Home-Verzeichnisses:

Lassen Sie uns ein Beispiel in meinem Home-Verzeichnis anwenden.

find . -type f -name ".*" -mtime +10

Praktische Beispiele für find mit Bash-Skripten

Wir können find kombinieren mit rm oder mv um aussagekräftige Bash-Skripte zu erstellen, die automatisiert werden können.

Angenommen, wir möchten ein Skript erstellen, das Protokolldateien, die älter als 7 Tage sind, in einen Sicherungspfad verschiebt. Von dort werden Protokolldateien gelöscht, die älter als 30 Tage sind. Wir können ein Skript erstellen und es mit cron planen . Sie können mehr über cron erfahren Jobs hier.

Sehen wir uns das Skript an:

#!/bin/bash
# Script to move from logs older than 7 days to backup logs path: /app/backup_logs/ESB0*

# move ESB01 logs to backup
find /logs/esb01/audit  -name "*.tar.gz" -mtime +7 -exec mv {} app/backup_logs/ESB01/ \;

# Remove logs from backup path after 30 days
find /app/backup_logs/ESB01 -name "*.tar.gz" -mtime +30  -exec rm {} \;

Beachten Sie, dass wir exec verwenden mit find . Grundsätzlich exec führt den bereitgestellten Befehl aus ( mv und rm in unserem Fall). {} ist der Platzhalter, der die Ergebnisse des Befehls enthält. Zuletzt stellen wir das Trennzeichen ; bereit . Da wir nicht wollen, dass die Shell das Semikolon interpretiert, maskieren wir es mit \ .

Das freigegebene Skript ist sehr nützlich beim Archivieren und Entfernen von Protokollen.

Abschluss

In diesem Artikel haben wir den find untersucht Befehl im Detail und lernte, wie man Dateien nach Namen, Typ, Größe und Änderungszeit sucht.

Ich hoffe, Sie fanden dieses Tutorial hilfreich.

Teilen Sie Ihre Gedanken auf Twitter!

Du kannst meine anderen Posts hier lesen.

Ressourcen:Bannerbilder aus Office-Illustrationen von Storyset und Canva.


Linux
  1. 8 Tipps für die Linux-Kommandozeile

  2. So installieren Sie Software über die Linux-Befehlszeile

  3. Suchen von Dateien in der Befehlszeile (How To)

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

  5. Migrieren eines Linux-Servers über die Befehlszeile

So finden Sie die öffentliche IP-Adresse über die Befehlszeile unter Linux heraus

So verwalten Sie Dateien vom Linux-Terminal aus

So finden Sie Dateien in der Ubuntu-Befehlszeile

Ripgrep – Das schnellste Kommandozeilen-Suchtool für Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

So finden Sie die IP-Adresse in der Linux-Befehlszeile