So finden Sie eine Datei unter Linux

Autor: Ellen Moore
Erstelldatum: 17 Januar 2021
Aktualisierungsdatum: 29 Juni 2024
Anonim
Linux - Suchen mit find - Teil 1
Video: Linux - Suchen mit find - Teil 1

Inhalt

Das Auffinden einer Datei auf einem Linux-System ist ziemlich schwierig, wenn Sie nicht wissen, wie es geht. Am besten verwenden Sie verschiedene Befehle, die im Terminal eingegeben werden. Wenn Sie solche Befehle beherrschen, haben Sie die vollständige Kontrolle über die Dateien; Außerdem sind diese Befehle funktionaler als ähnliche Suchmaschinen in anderen Betriebssystemen.

Schritte

Methode 1 von 3: Das Dienstprogramm find

  1. 1 Suchen Sie die Datei anhand ihres Namens. Eine solche einfache Suche wird mit dem Dienstprogramm durchgeführt finden... Der folgende Befehl sucht nach einer Datei im aktuellen Verzeichnis und allen seinen Unterverzeichnissen.

    find -iname "Dateiname"

    • Eintreten -iname anstatt -Nameum die Groß-/Kleinschreibung im eingegebenen Dateinamen zu ignorieren. Team -Name ist case sensitive.
  2. 2 Starten Sie die Suche im Stammverzeichnis. Um eine systemweite Suche zu starten, fügen Sie den Modifikator zur Abfrage hinzu /... In diesem Fall ist der Befehl finden sucht die Datei in allen Verzeichnissen, beginnend mit dem Root.

    find / -iname "Dateiname"

    • Sie können mit der Suche in einem bestimmten Verzeichnis beginnen; um dies zu tun, ersetzen / zu einem Verzeichnispfad, zum Beispiel / home / max.
    • Kann verwendet werden . anstatt /um die Datei nur im aktuellen Verzeichnis und seinen Unterverzeichnissen zu suchen.
  3. 3 Verwenden Sie ein Generalisierungssymbol.*um Dateien zu finden, deren Name mit dem Teil der Anfrage übereinstimmt. Verwenden des Generalisierungssymbols * Sie können eine Datei finden, deren vollständiger Name unbekannt ist, oder Sie können alle Dateien mit einer bestimmten Erweiterung suchen.

    find /home/max -iname " *.conf"

    • Dieser Befehl findet alle Dateien mit der Erweiterung .conf im Max-Benutzerordner (und seinen Unterordnern).
    • Verwenden Sie diesen Befehl, um alle Dateien zu finden, die einem Teil der Abfrage entsprechen. Wenn Sie beispielsweise viele WikiHow-bezogene Dateien auf Ihrem Computer haben, finden Sie alle Dateien durch Eingabe von " * Wiki *".
  4. 4 Erleichtern Sie die Verwaltung von Suchergebnissen. Bei zu vielen Suchergebnissen ist es schwierig, die gesuchte Datei zu finden. Verwenden Sie das Symbol |um die Suchergebnisse mit weniger zu filtern. Dadurch können Sie Ihre Suchergebnisse einfacher anzeigen und filtern.

    find /home /max -iname " *.conf" | weniger

  5. 5 Suchen Sie nach bestimmten Artikeln. Verwenden Sie Modifikatoren, um nur bestimmte Elemente in den Suchergebnissen anzuzeigen. Sie können nach regulären Dateien suchen (F), Verzeichnisse (D), symbolische Links (l), Zeichen-I/O-Geräte (mit) und Geräte sperren (B).

    find / -type f -iname "Dateiname"

  6. 6 Filtern Sie Ihre Suchergebnisse nach Dateigröße. Wenn Sie viele Dateien mit ähnlichen Namen auf Ihrem Computer haben, aber die Größe der gesuchten Datei kennen, filtern Sie die Suchergebnisse nach Dateigröße.

    find / -size + 50M -iname "Dateiname"

    • Dieser Befehl findet alle Dateien, die größer als 50 MB sind. Verwenden Sie einen Modifikator + oder -um eine Größenzunahme oder -abnahme anzuzeigen. Wenn der Modifikator + oder - nein, der Befehl findet Dateien, die genau die gleiche Größe wie die angegebene Größe haben.
    • Suchergebnisse können nach Bytes gefiltert werden (C), Kilobyte (k), Megabyte (m), Gigabyte (g) oder Blöcke von 512 Byte (B). Beachten Sie, dass bei den angezeigten Modifikatoren die Groß-/Kleinschreibung beachtet wird.
  7. 7 Verwenden Sie logische Operatoren (boolesche Operatoren), um Suchfilter zu kombinieren. Operatoren können verwendet werden -und, -oder, -nichtum verschiedene Suchbegriffe in einer einzigen Abfrage zu kombinieren.

    find / travelphotos -type f -size + 200k -not -iname " * 2015 *"

    • Dieser Befehl findet Dateien im Ordner "Reisefotos", die größer als 200 KB sind und die nicht die Nummer 2015 im Namen haben.
  8. 8 Dateien nach Besitzer oder Berechtigungen suchen. Wenn Sie eine Datei suchen müssen, die einem bestimmten Benutzer gehört, oder eine Datei mit bestimmten Zugriffsrechten, können Sie Ihre Suche eingrenzen.

    find / -user max -iname "Dateiname" find / -group users -iname "Dateiname" find / -perm 777 -iname "Dateiname"

    • Die obigen Befehle finden die Datei für einen bestimmten Benutzer, eine Gruppe oder mit bestimmten Zugriffsrechten. Sie können den Dateinamen auch in der Abfrage weglassen, um alle Dateien zu finden, die den angegebenen Kriterien entsprechen. Zum Beispiel der Befehl finden / -dauer 777 findet alle Dateien mit den Berechtigungen 777 (unbegrenzt).
  9. 9 Kombinieren Sie die Befehle, um bestimmte Aktionen auszuführen, nachdem die Dateisuche abgeschlossen ist. Die Mannschaft finden kann mit anderen Befehlen kombiniert werden, die die gefundenen Dateien verarbeiten. Um dies zu tun, zwischen dem Team finden und mit dem zweiten Befehl enter -execund am Ende der Zeile eingeben {} ;

    finden. -type f -perm 777 -exec chmod 755 {} ;

    • Dieser Befehl findet im aktuellen Verzeichnis (und seinen Unterverzeichnissen) alle Dateien mit den Berechtigungen 777 und verwendet dann den Befehl chmod die Zugriffsrechte ändern sich auf 755.

Methode 2 von 3: Dienstprogramm suchen

  1. 1 Installieren Sie das Dienstprogramm.Lokalisieren... Dieses Dienstprogramm ist schneller als Dienstprogramm findenweil es das Dateisystem nicht wirklich scannt. Allerdings werden nicht alle Linux-Distributionen mit dem Dienstprogramm geliefert. LokalisierenGeben Sie also die folgenden Befehle ein, um es zu installieren:
    • Eintreten sudo apt-get update und drücke ↵ Betreten.
    • Gehen Sie unter Debian und Ubuntu wie folgt vor: Geben Sie . ein sudo apt-get install mlocate und drücke ↵ Betreten... Ob Lokalisieren bereits installiert, wird eine Meldung angezeigt mlocate ist bereits die neueste Version (Neueste Version installiert).
    • Verwenden Sie unter Arch Linux den Paketmanager pacman: pacman -Syu mlocate
    • Verwenden Sie auf Gentoo emerge: auftauchen mlocate
  2. 2 Aktualisieren Sie die Dienstprogrammdatenbank.Lokalisieren... Dieses Dienstprogramm kann ohne eine zuvor erstellte und aktualisierte Datenbank (die den Anschein eines Snapshots aus dem Dateisystem speichert) nichts finden. Die Datenbank wird täglich im automatischen Modus aktualisiert, kann aber auch manuell erfolgen. Aktualisieren Sie die Datenbank manuell, um sofort mit der Arbeit zu beginnen Lokalisieren.
    • Eintreten sudo aktualisiertb und drücke ↵ Betreten.
  3. 3 Benutzen.Lokalisierenum einfache Suchen durchzuführen. Nützlichkeit Lokalisieren funktioniert schnell, ist aber nicht so funktional wie das Dienstprogramm finden... Team Lokalisieren behandelt einfache Suchanfragen ähnlich wie der Befehl finden.

    find -i " *.webp"

    • Dieser Befehl findet (im gesamten System) alle Dateien mit der Erweiterung .webp... Hier das Verallgemeinerungssymbol * funktioniert genauso wie das Team finden.
    • Wie das Team finden, Modifikator -ich ignoriert die Groß-/Kleinschreibung des Suchbegriffs.
  4. .
  5. 4 Begrenzen Sie die Anzahl der Suchergebnisse. Wenn zu viele Suchergebnisse vorhanden sind, kürzen Sie diese mit dem Modifikator -n und eine Zahl, die die Anzahl der angezeigten Suchergebnisse bestimmt.

    find -n 20 -i " *.webp"

    • Dieser Befehl zeigt die ersten 20 Ergebnisse an, die Ihrem Suchbegriff entsprechen.
    • Sie können auch das Symbol verwenden |um die Suchergebnisse mit weniger zu filtern. Dies erleichtert die Anzeige der Suchergebnisse.

Methode 3 von 3: Text in Dateien suchen

  1. 1 Verwenden Sie den Befehl.grepum nach Text in Dateien zu suchen. Tun Sie dies, um eine Datei zu finden, die einen bestimmten Ausdruck oder eine bestimmte Zeile enthält. Grundlegendes Befehlsformat grep wie folgt:

    grep -r -i "Suchabfrage" / Pfad / zum / Verzeichnis /

    • Modifikator -R macht die Suche rekursiv, sodass jede Datei, die einen String aus dem Suchbegriff enthält, im aktuellen Verzeichnis (und allen Unterverzeichnissen) gefunden wird.
    • Modifikator -ich gibt an, dass bei der Anfrage die Groß-/Kleinschreibung nicht beachtet wird. Geben Sie den Modifikator nicht ein, um die Groß-/Kleinschreibung zu beachten -ich.
  2. 2 Überschüssigen Text ausblenden. Beim Ausführen des Befehls grep (wie oben beschrieben) werden der Dateiname und der Text mit der hervorgehobenen Phrase oder Zeichenfolge, die in der Suchanfrage angegeben wurde, auf dem Bildschirm angezeigt. Sie können diesen Text ausblenden, um nur den Dateinamen und den Pfad anzuzeigen. Geben Sie dazu folgenden Befehl ein:

    grep -r -i "Suchanfrage" / Pfad / zum / Verzeichnis / | Schnitt -d: -f1

  3. 3 Fehlermeldungen ausblenden. Team grep zeigt eine Fehlermeldung an, wenn versucht wird, ohne die entsprechenden Berechtigungen auf Ordner zuzugreifen, oder in leeren Ordnern landet. Solche Nachrichten können an /dev/null gesendet werden, damit sie nicht auf dem Bildschirm erscheinen.

    grep -r -i "Suchabfrage" / path / to / directory / 2> / dev / null