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

Wenn es um die Fehlerbehebung von Linux-Systemen geht, ist find mein bester Freund

Der Weg, um herauszufinden, wonach Sie suchen, kann tiefer sein als Sie dachten, oder er liegt gleich um die Ecke. Es hängt alles davon ab, wie Sie aussehen, wo Sie suchen und wonach Sie suchen. Wenn Sie auftretende Probleme beheben, kann es einfacher sein, als es scheint. Eines meiner Lieblingstools ist find Befehl. Der find Der Befehl ist ein Dienstprogramm, mit dem Sie durch einen Verzeichnisbaum gehen, in Verzeichnisse mit jedem aufgelisteten Pfad absteigen und Ausdrücke auswerten können, die für jede aufgelistete Datei hinzugefügt wurden. Mit diesem Befehl können Sie eine ganze Menge erreichen. In diesem Artikel behandle ich verschiedene Möglichkeiten sowie Einzeiler, um Ihnen beim find zu helfen große Dateien, um find mehrere Dateien und sogar bestimmte Dateitypen zu finden.

Finden Sie mehrere Dateien in Linux

Der find Der Befehl wird auf verschiedene Weise verwendet. Eine Sache, die Sie als Systemadministrator nicht tun möchten, ist, härter zu arbeiten, als Sie müssen. Anstatt denselben Befehl immer wieder auszuführen, um nach einer Datei zu suchen, können Sie find verwenden Befehl, um mehrere Dateien gleichzeitig zu finden.

$ find /home -type f -name file.txt -exec {} \;

Dieser Einzeiler kann aufgeschlüsselt werden. Ich finde es am besten, es fast als Satz zu lesen:

  • Durchsuchen von /home Verzeichnis
  • Suche nach einer Datei (-type f ) oder ein Verzeichnis (-type d )
  • Dateiname ist file.txt (-name file.txt )
  • Ausführen eines anderen Befehls aus der vorherigen Ausgabe

Finden Sie große Dateien in Linux

Sie können auch find verwenden um große Dateien in Linux zu entdecken. Das Auffinden großer Dateien hat sich für mich auf lange Sicht als hilfreich erwiesen. find kann dabei helfen, große Dateien wie Backups und ISO-Dateien schnell zu finden.

$ find / -type f -size +500000k -exec ls -lh {} \;

Dieser Einzeiler kann wie folgt aufgeschlüsselt werden:

  • Durchsuchen des / Verzeichnis
  • Suche nach einer Datei (type -f )
  • Suche nach einer Datei, die größer als 500000k ist
  • Ausführen des Befehls ls -lh auf den Dateien, die in der vorherigen Ausgabe gefunden wurden

Bestimmte Dateitypen in Linux finden

Eine weitere gute Methode ist das Auffinden von Dateierweiterungen mit find Befehl. Ich finde das hilfreich, da es mir gezeigt hat, wie ich bestimmte Dateien mit nur einem bestimmten Schlüsselwort finden kann. In diesem Fall sucht das folgende Beispiel nach Dateien, die nur eine bestimmte Erweiterung enthalten:

# find / -type f \( -name "*.sh" -o -name "*.txt" )

Um dies zu analysieren:

  • Suche im / Verzeichnis
  • Suche nach einer Datei (-type f ) oder ein Verzeichnis (-type d )
  • Suche nach einem Dateinamen, der ein Platzhalter ist, aber mit der Erweiterung .sh endet oder .txt

Ich habe sogar nach Inhalten in einer Datei gesucht, die mit einem bestimmten Schlüsselwort übereinstimmen. Diese Befehle können angepasst und modifiziert werden, um das gewünschte Ergebnis zu erzielen.

Modifizierte Dateien in Linux finden

Das letzte Beispiel zeigt, wie man find findet eine Datei, die in den letzten 50 Tagen geändert wurde. Dies kann hilfreich sein, wenn Sie aus Sicherheitsgründen kürzlich geänderte Dateien finden müssen oder wenn unerwünschte Benutzer im Netzwerk auf andere Dateien zugreifen.

# find / -type f -ctime +50 -exec rm -f {} \;

Der obige Befehl zeigt:

  • Suche im / Verzeichnis
  • Suche nach einer Datei (-type f ) oder ein Verzeichnis (-type d )
  • Suche nach Dateien, die älter als 50 sind Tage
  • Ausführen des Befehls rm -f auf den Dateien, die in der vorherigen Ausgabe gefunden wurden

Dies kann helfen, diese schädlichen Dateien auf einmal zu entfernen. Sie müssen nur sicherstellen, dass die ausgewählten Dateien die Dateien sind, die Sie entfernen möchten. Eine Möglichkeit zur Überprüfung besteht darin, den Befehl ohne exec auszuführen Abschnitt, um die Dateien anzuzeigen, die in der Ausgabe erscheinen. Wenn es eine große Anzahl von Dateien gibt, leiten Sie die Ausgabe in eine Datei um:

# find / -type f -ctime +50 > files.txt

Der Inhalt kann überprüft und verifiziert werden, bevor Sie einen Einzeiler ausführen, der /etc entfernt Mappe. Nicht ideal.

Abschluss

Der find Der Befehl hat eine Vielzahl von Verwendungsmöglichkeiten und Verfügbarkeiten, bei denen Administratoren die benötigten Inhalte finden können (kein Wortspiel beabsichtigt). Mit diesem Befehl sind die Möglichkeiten buchstäblich endlos! Wenn es um die Fehlerbehebung geht, können Sie mit dieser Flexibilität beim Suchen und Untersuchen nach Dingen suchen, die Ihnen zuvor möglicherweise nicht aufgefallen sind. Als Ergebnis finden Sie vielleicht genau die Antwort, nach der Sie gesucht haben (Wortspiel beabsichtigt).

[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]


Linux
  1. So finden Sie die zuletzt oder heute geänderten Dateien in Linux

  2. Linux-Fehlerbehebung 101:Systemleistung

  3. Alle Python-Dateien im Linux-Dateisystem finden?

  4. So finden Sie Dateien im DOS-Format in einem Linux-Dateisystem

  5. Linux-Dateisystem, das ältere Dateien altert, wenn die Partition voll ist

So defragst du dein Linux-System

So finden Sie heraus, wer das Linux-System wann neu gestartet hat

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

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Finden Sie Text in Dateien unter Linux mit grep

Die 20 besten Linux-PDF-Editoren:Bearbeiten Sie PDF-Dateien auf Ihrem Linux-System