3 Möglichkeiten, eine Datei unter Linux zu finden

Inhaltsverzeichnis:

3 Möglichkeiten, eine Datei unter Linux zu finden
3 Möglichkeiten, eine Datei unter Linux zu finden

Video: 3 Möglichkeiten, eine Datei unter Linux zu finden

Video: 3 Möglichkeiten, eine Datei unter Linux zu finden
Video: Zugriffsrechte für Dateien und Ordner 2024, Kann
Anonim

Das Auffinden einer Datei in einem Linux-System kann schwierig sein, wenn Sie nicht wissen, wie. Der beste Weg, um Dateien zu finden, besteht darin, verschiedene Terminalbefehle zu verwenden. Wenn Sie diese Befehle beherrschen, können Sie Ihre Dateien vollständig kontrollieren, und sie sind viel leistungsfähiger als die einfachen Suchfunktionen anderer Betriebssysteme.

Schritte

Methode 1 von 3: Verwenden von "lokalisieren"

690519 10 1
690519 10 1

Schritt 1. Installieren Sie die

Lokalisieren Funktionalität.

Der Befehl Locate funktioniert im Allgemeinen viel schneller als find, da er von einer Datenbank Ihrer Dateistruktur aus arbeitet. Nicht bei allen Linux-Distributionen ist die Lokalisierungsfunktion installiert. Geben Sie daher die folgenden Befehle ein, um zu versuchen, sie zu installieren:

  • Tippe sudo apt-get update ein und drücke auf ↵ Enter.
  • Du kannst es in Debian und Ubuntu wie folgt installieren: Tippe sudo apt-get install mlocate ein und drücke auf ↵ Enter. Wennlocate bereits installiert ist, sehen Sie die Meldung mlocate ist bereits die neueste Version.
  • Verwenden Sie in Arch Linux den Paketmanager pacman: pacman -S mlocate
  • Verwenden Sie für Gentoo emerge: emerge mlocate
690519 11 1
690519 11 1

Schritt 2. Aktualisieren Sie Ihre

Lokalisieren Datenbank.

Der Befehl "locate" kann nichts finden, bis seine Datenbank erstellt und aktualisiert wurde. Dies geschieht täglich automatisch, Sie können es jedoch auch manuell aktualisieren. Sie müssen dies tun, wenn Sie lokalisieren sofort verwenden möchten.

Tippe sudo aktualisiertb ein und drücke auf ↵ Enter

690519 12 1
690519 12 1

Schritt 3. Verwenden Sie

Lokalisieren um einfache Suchen durchzuführen.

Der Befehl locate ist schnell, hat aber nicht so viele Optionen wie der Befehl find. Sie können eine einfache Dateisuche ähnlich wie mit dem Befehl find durchführen.

find -i "*.jpg"

  • Dieser Befehl durchsucht das gesamte System nach Dateien mit der Erweiterung.jpg. Das Platzhalterzeichen * funktioniert genauso wie beim find-Befehl.
  • Wie der Befehl find ignoriert das -i die Groß-/Kleinschreibung Ihrer Abfrage.
690519 13 1
690519 13 1

Schritt 4. Begrenzen Sie Ihre Suchergebnisse

Wenn Ihre Suchen zu viele Ergebnisse zurückgeben, können Sie sie mit der Option -n, gefolgt von der Anzahl der anzuzeigenden Ergebnisse, reduzieren.

find -n 20 -i "*.jpg"

  • Es werden nur die ersten 20 Ergebnisse angezeigt, die der Abfrage entsprechen.
  • Sie können auch die | pipe, um die Ergebnisse zum einfachen Scrollen an less zu senden.

Methode 2 von 3: Verwenden von "find"

690519 1 1
690519 1 1

Schritt 1. Suchen Sie nach einer Datei anhand ihres Dateinamens

Dies ist die einfachste Suche, die Sie mit dem Befehl find durchführen können. Der folgende Befehl sucht nach der Abfrage im aktuellen Verzeichnis und allen Unterverzeichnissen.

find -iname "Dateiname"

Die Verwendung von -iname anstelle von -name ignoriert die Groß-/Kleinschreibung Ihrer Abfrage. Beim Befehl -name muss die Groß-/Kleinschreibung beachtet werden

690519 2 1
690519 2 1

Schritt 2. Stellen Sie die Suche so ein, dass sie im Stammverzeichnis beginnt

Wenn Sie Ihr gesamtes System durchsuchen möchten, können Sie der Abfrage den Modifikator / hinzufügen. Dadurch wird find angewiesen, alle Verzeichnisse ab dem Stammverzeichnis zu durchsuchen.

find / -iname "Dateiname"

  • Sie können die Suche in einem bestimmten Verzeichnis starten, indem Sie das / durch einen Verzeichnispfad ersetzen, z. B. /home/pat.
  • Sie können eine. statt / um zu erzwingen, dass die Suche nur im aktuellen Verzeichnis und in den Unterverzeichnissen durchgeführt wird.
690519 3 1
690519 3 1

Schritt 3. Verwenden Sie das Platzhalterzeichen

* um nach allem zu suchen, was mit dem Teil der Abfrage übereinstimmt.

Das Platzhalterzeichen * kann hilfreich sein, um etwas zu finden, wenn Sie den vollständigen Namen nicht kennen oder alles mit einer bestimmten Erweiterung finden möchten.

finde /home/pat -iname "*.conf"

  • Dadurch werden alle.conf-Dateien in Pats Benutzerordner (und Unterverzeichnissen) zurückgegeben.
  • Sie können es auch verwenden, um alles zu finden, was mit einem Teil des Dateinamens übereinstimmt. Wenn Sie beispielsweise viele Dokumente zu wikiHow haben, können Sie sie alle finden, indem Sie "*wiki*" eingeben.
690519 4 1
690519 4 1

Schritt 4. Machen Sie Ihre Suchergebnisse einfacher zu verwalten

Wenn Sie viele Suchergebnisse erhalten, kann es schwierig sein, sie zu durchsuchen. Verwenden Sie das | Zeichen und senden Sie die Suchergebnisse an das "weniger" Filterprogramm. Auf diese Weise können Sie die Ergebnisse viel einfacher durchblättern und filtern.

finde /home/pat -iname "*.conf" | weniger

690519 5 1
690519 5 1

Schritt 5. Suchen Sie nach bestimmten Ergebnistypen

Sie können Modifikatoren verwenden, um nur bestimmte Ergebnistypen zurückzugeben. Sie können nach regulären Dateien (f), Verzeichnissen (d), symbolischen Links (l), Zeichengeräten (c) und Blockgeräten (b) suchen, indem Sie den richtigen Modifikator verwenden.

find / -type f -iname "Dateiname"

690519 6 1
690519 6 1

Schritt 6. Filtern Sie Ihre Suchergebnisse nach Größe

Wenn Sie viele Dateien mit ähnlichen Namen haben, aber die gesuchte Größe kennen, können Sie unsere Ergebnisse nach Größe filtern.

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

  • Dadurch werden Ergebnisse zurückgegeben, die 50 Megabyte oder größer sind. Sie können + oder - verwenden, um nach größeren oder kleineren Größen zu suchen. Wenn Sie das + oder - weglassen, wird nach Dateien mit genau der angegebenen Größe gesucht.
  • Sie können nach Byte (c), Kilobyte (k), Megabyte (M), Gigabyte (G) oder 512-Byte-Blöcken (b) filtern. Beachten Sie, dass beim Größen-Flag die Groß-/Kleinschreibung beachtet wird.
690519 7 1
690519 7 1

Schritt 7. Verwenden Sie boolesche Operatoren, um Suchfilter zu kombinieren

Sie können die Operatoren -and, -or und -not verwenden, um verschiedene Sucharten zu einer zu kombinieren.

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

Der Befehl findet Dateien im Verzeichnis "travelphotos", die größer als 200 Kilobyte sind, aber nirgendwo "2015" im Dateinamen enthalten

690519 8 1
690519 8 1

Schritt 8. Suchen Sie nach Dateien nach Besitzer oder Berechtigungen

Wenn Sie nach einer bestimmten Datei suchen, die einem Benutzer gehört, oder nach Dateien mit bestimmten Berechtigungen, können Sie die Suche eingrenzen.

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

In den obigen Beispielen werden die angegebenen Benutzer, Gruppen oder Berechtigungen für die Abfrage durchsucht. Sie können die Dateinamenabfrage auch weglassen, um alle Dateien zurückzugeben, die diesem Typ entsprechen. Find / -perm 777 gibt beispielsweise alle Dateien mit den 777-Berechtigungen (ohne Einschränkungen) zurück

690519 9 1
690519 9 1

Schritt 9. Kombinieren Sie Befehle, um Aktionen auszuführen, wenn Dateien gefunden werden

Sie können den find-Befehl mit anderen Befehlen kombinieren, damit Sie diese für die von der Abfrage zurückgegebenen Dateien ausführen können. Trennen Sie den Befehl find und den zweiten Befehl mit dem Flag -exec und beenden Sie die Zeile mit {};

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

Dadurch wird das aktuelle Verzeichnis (und alle Unterverzeichnisse) nach Dateien mit 777-Berechtigungen durchsucht. Es wird dann den Befehl chmod verwenden, um die Berechtigungen auf 755 zu ändern

Methode 3 von 3: Suchen nach Text in Dateien

690519 14 1
690519 14 1

Schritt 1. Verwenden Sie die

grep Befehl zum Suchen nach Textzeichenfolgen in Dateien.

Wenn Sie nach einer Datei suchen, die eine bestimmte Phrase oder Zeichenfolge enthält, können Sie den Befehl grep verwenden. Ein grundlegender grep-Befehl ist wie folgt formatiert:

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

  • Mit -r wird die Suche auf "rekursiv" gesetzt, sodass das aktuelle Verzeichnis und alle Unterverzeichnisse nach Dateien durchsucht werden, die die Abfragezeichenfolge enthalten.
  • Das -i gibt an, dass bei der Abfrage die Groß-/Kleinschreibung nicht beachtet wird. Wenn Sie bei der Suche die Berücksichtigung der Groß-/Kleinschreibung erzwingen möchten, lassen Sie den -i-Operator weg.
690519 15 1
690519 15 1

Schritt 2. Schneiden Sie den zusätzlichen Text aus

Wenn Sie wie oben eine grep-Suche durchführen, sehen Sie den Dateinamen zusammen mit dem Text mit der entsprechenden hervorgehobenen Abfrage. Sie können den passenden Text ausblenden und nur die Dateinamen und Pfade anzeigen, indem Sie Folgendes einschließen:

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

690519 16 1
690519 16 1

Schritt 3. Fehlermeldungen ausblenden

Der Befehl grep gibt einen Fehler zurück, wenn er versucht, auf Ordner ohne die richtigen Berechtigungen zuzugreifen oder in leeren Ordnern ausgeführt wird. Sie können die Fehlermeldungen an /dev/null senden, wodurch sie aus der Ausgabe ausgeblendet werden.

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

Empfohlen: