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

So verwenden Sie FIND unter Linux

In einem kürzlich erschienenen Opensource.com-Artikel stellte Lewis Cowles den find vor Befehl.

find ist eines der leistungsstärkeren und flexibleren Befehlszeilenprogramme in der täglichen Toolbox, daher lohnt es sich, etwas mehr Zeit damit zu verbringen.

Zumindest find nimmt einen Weg, um Dinge zu finden. Zum Beispiel:

find /

findet (und druckt) jede Datei auf dem System. Und da es sich bei allem um eine Datei handelt, erhalten Sie eine Menge Ausgaben zum Sortieren. Dies hilft Ihnen wahrscheinlich nicht, das zu finden, wonach Sie suchen. Sie können das Pfadargument ändern, um die Dinge ein wenig einzugrenzen, aber es ist immer noch nicht wirklich hilfreicher als die Verwendung von ls Befehl. Sie müssen also darüber nachdenken, was Sie finden möchten.

Vielleicht möchten Sie alle JPEG-Dateien in Ihrem Home-Verzeichnis finden. Der -name Mit dem Argument können Sie Ihre Ergebnisse auf Dateien beschränken, die dem angegebenen Muster entsprechen.

find ~ -name '*jpg'

Aber warte! Was ist, wenn einige von ihnen eine Erweiterung in Großbuchstaben haben? -iname ist wie -name , aber Groß- und Kleinschreibung wird nicht beachtet.

find ~ -iname '*jpg'

Toll! Aber das 8.3-Namensschema ist so 1985. Einige der Bilder haben möglicherweise eine .jpeg-Erweiterung. Glücklicherweise können wir Muster mit einem „oder“ kombinieren, dargestellt durch -o .

find ~ ( -iname 'jpeg' -o -iname 'jpg' )

Wir kommen näher. Aber was ist, wenn Sie einige Verzeichnisse haben, die auf jpg enden? (Warum Sie ein Verzeichnis bucketofjpg genannt haben statt pictures ist mir ein Rätsel.) Wir können unseren Befehl mit dem -type ändern Argument um nur nach Dateien zu suchen.

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f

Oder vielleicht möchten Sie diese seltsam benannten Verzeichnisse finden, damit Sie sie später umbenennen können:

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type d

Es stellt sich heraus, dass Sie in letzter Zeit viele Bilder gemacht haben, also beschränken wir uns auf Dateien, die sich in der letzten Woche geändert haben.

find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Sie können Zeitfilter basierend auf der Änderungszeit des Dateistatus (ctime ), Änderungszeit (mtime ) oder Zugriffszeit (atime ). Diese sind in Tagen angegeben, wenn Sie also eine genauere Kontrolle wünschen, können Sie sie stattdessen in Minuten ausdrücken (cmin , mmin , und amin , bzw). Wenn Sie die gewünschte Uhrzeit nicht genau kennen, stellen Sie der Nummer wahrscheinlich + voran (mehr als) oder (weniger als).

Aber vielleicht interessieren Sie sich nicht für Ihre Bilder. Vielleicht geht Ihnen der Speicherplatz aus, also möchten Sie alle gigantischen (definieren wir das als "größer als 1 Gigabyte") Dateien im log finden Verzeichnis:

find /var/log -size +1G

Oder vielleicht möchten Sie alle Dateien von bcotton in /data finden :

find /data -owner bcotton

Sie können auch anhand von Berechtigungen nach Dateien suchen. Vielleicht möchten Sie alle weltweit lesbaren Dateien in Ihrem Home-Verzeichnis finden, um sicherzustellen, dass Sie nicht zu viel teilen.

find ~ -perm -o=r

Dieser Beitrag kratzt nur an der Oberfläche dessen, was find tun können. Die Kombination von Tests mit boolescher Logik kann Ihnen eine unglaubliche Flexibilität geben, um genau die Dateien zu finden, nach denen Sie suchen. Und mit Argumenten wie -exec oder -delete , können Sie find haben Handeln Sie nach dem, was es ... findet. Haben Sie einen beliebigen find Ausdrücke? Teile sie in den Kommentaren!


Linux
  1. So verwenden Sie BusyBox unter Linux

  2. Wie ich Cron unter Linux verwende

  3. So verwenden Sie Unzip unter Linux

  4. So finden Sie eine Datei in Linux

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

So verwenden Sie Traceroute unter Kali Linux

So verwenden Sie den Linux-Bildschirm

So verwenden Sie du Command unter Linux

So finden Sie die IP-Adresse unter Linux

So finden Sie den Hostnamen unter Linux

So finden Sie die IP-Adresse in Linux