Nützliche Linux-Suchbefehle für Systemadministratoren

Der Befehl find ist einer der am häufigsten verwendeten unter Linux.


Es wäre nur schwierig, eine Linux-Umgebung zu verwalten, ohne die Suchbefehle zu kennen.

Es hilft Ihnen beim Durchsuchen von Dateien und Ordnern auf dem Linux-Server und ist äußerst nützlich für die Verwaltung von Dateisystemen.

In diesem Artikel habe ich einige der gebräuchlichsten Syntaxe für Suchbefehle aufgelistet, um Ihnen bei der Produktivität zu helfen.

Suchen Sie Dateien in einem bestimmten Dateisystem

Wenn Sie den Dateinamen und das Dateisystem kennen, aber den genauen Ordnerpfad nicht kennen, können Sie diese Syntax verwenden.

Im folgenden Beispiel suche ich nach einer Nachrichtendatei im Dateisystem / var.

[[E-Mail geschützt] ~] # find / var -name Nachrichten
/ var / log / messages
[[E-Mail geschützt] ~] #

Tipps: Wenn Sie den Namen des Dateisystems nicht kennen, können Sie auf / Ebene suchen. Beachten Sie jedoch, dass es einige Zeit dauern kann, wenn Sie über eine große Anzahl von Dateisystemen verfügen.

[[E-Mail geschützt] ~] # find / -name Nachrichten
/ var / log / messages
[[E-Mail geschützt] ~] #

Wenn Sie den genauen Dateinamen nicht kennen, können Sie auch ein Platzhaltermuster zum Suchen verwenden.

Ex – Um nach error_log zu suchen, können Sie versuchen

[[E-Mail geschützt] ~] # find / -name error_ *
/ var / log / httpd / error_log
[[E-Mail geschützt] ~] #

Wie wäre es, wenn Sie den Dateinamen mit Klein- oder Großbuchstaben durchsuchen, dh die Groß- und Kleinschreibung ignorieren?

Nun, Sie können –iname anstelle von –name verwenden.

Ex:

[[E-Mail geschützt] var] # find / -iname NACHRICHTEN
/ var / log / messages
[[E-Mail geschützt] var] #

Schauen wir uns ein weiteres Echtzeitszenario an. Wenn Sie den Dateityp kennen und alle durchsuchen möchten.

Wenn Sie beispielsweise an WebSphere arbeiten, möchten Sie möglicherweise alle Dateien durchsuchen, die mit .out enden, und können es dann versuchen

# find / -name * .out

Suchen Sie Dateien basierend auf Besitz und Berechtigungen

Dateien mit 777 Die Berechtigung ist gefährlich, da jeder sie bearbeiten oder löschen kann. Als Systemadministrator möchten Sie möglicherweise einen Scan durchführen, um Dateien mit 777-Berechtigungen zu finden.

Zum Beispiel, um alle Dateien mit der Berechtigung 777 unter / opt Dateisystem anzuzeigen.

[[E-Mail geschützt] ~] # find / opt / -type f -perm 777
/ opt / testing
/opt/SystemOut.log
[[E-Mail geschützt] ~] #

Tipps: Wie wäre es mit dem Drucken des Dateieigentums, dem Zeitstempel in derselben Zeile??

[[E-Mail geschützt] ~] # find / opt / -type f -perm 777 -exec ls -ltr {} +;
-rwxrwxrwx 1 root root 0 19. Juli 03:35 / opt / testing
-rwxrwxrwx 1 root root 0 19. Juli 03:36 /opt/SystemOut.log
[[E-Mail geschützt] ~] #

Sie können die Berechtigung auch in einer einzigen Suchbefehlssyntax von 777 auf 755 ändern.

# find / opt / -type f -perm 777 -exec chmod 755 {} +;

Natürlich können Sie die Berechtigung von 755 an jede andere anpassen, die Sie möchten.

Wie wäre es, Dateien zu finden, die Root oder einem anderen Benutzer gehören??

Dies ist sehr hilfreich, wenn beim Starten der Dienste Probleme auftreten, da der vorherige Start von root durchgeführt wurde.

Zum Beispiel – wenn Tomcat einem Benutzer namens “tomcatapp” gehört und Sie aus irgendeinem Grund mit root begonnen haben.

Ratet mal, was passiert, wenn ihr das nächste Mal mit “tomcatapp” neu startet.?

Dies liegt nicht daran, dass ein Teil des Eigentums an der Datei in root geändert wurde und “tomcatapp” diese Dateien jetzt nicht mehr ändern / löschen kann. Dies ist in dieser Situation sehr praktisch.

So können Sie jede Datei durchsuchen, deren Eigentümer root in einem bestimmten Dateisystem ist.

# find / opt / -user root

Hinweis: Das Ausführen dieser Suchsyntax auf / Ebene führt zu so vielen Dateien / Ordnern, dass Sie dies möglicherweise in einem bestimmten Dateisystem steuern möchten.

Suchen Sie nach Dateien, die älter als bestimmte Tage sind

Die Verwaltung des Dateisystems ist für die Produktionsunterstützung von entscheidender Bedeutung. Oft müssen Sie sich mit dieser Syntax befassen, um Protokolle zu finden, die älter als (sagen wir) 60 Tage sind.

Im folgenden Beispiel wird die Datei access.log gefunden, die älter als 60 Tage im Dateisystem / opt ist.

# find / opt / -name access.log -mtime +60

Tipps: Wenn Sie in derselben Befehlszeile suchen und löschen möchten, können Sie dies wie folgt tun. Dadurch wird access.log, das älter als 60 Tage ist, im Dateisystem / opt gefunden und gelöscht.

# find / opt / -name access.log -mtime +60 -exec rm {} +;

Dies ist zwar sehr praktisch, Sie können jedoch die Dateien auflisten, bevor Sie sie löschen. Um das zu tun

# find / opt / -name access.log -mtime +60 -exec ls -ltr {} +;

Finden Sie große Dateien

Manchmal müssen Sie sich mit häufigen Bereinigungen des Dateisystems auseinandersetzen, da eine große Anzahl von Protokollen von der Anwendung aufgrund eines Codeproblems usw. Geschrieben wird.

Nehmen wir ein Beispiel für die Suche nach Dateien mit mehr als 1 GB im / opt-Dateisystem.

# find / opt / -size + 1G

Tipps: Wenn Sie wissen, dass alle Dateien in / opt / mit mehr als 1 GB gelöscht werden können, müssen Sie nur in derselben Zeile suchen und löschen.

# find / opt / -size + 1G -exec rm {} +;

Ich hoffe, die oben genannten Befehle sind praktisch und helfen Ihnen in Echtzeit.

Weitere Informationen zu Linux-Befehlen finden Sie unter dieser Online-Kurs.

STICHWORTE:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map