3 Möglichkeiten, Dateien unter Linux zu finden

Inhaltsverzeichnis:

3 Möglichkeiten, Dateien unter Linux zu finden
3 Möglichkeiten, Dateien unter Linux zu finden

Video: 3 Möglichkeiten, Dateien unter Linux zu finden

Video: 3 Möglichkeiten, Dateien unter Linux zu finden
Video: iPhone APPS SPERREN & mit Code schützen (einzeln oder mehrere) 2024, Kann
Anonim

Das Auffinden von Dateien auf einem Linux-System kann schwierig sein, wenn Sie nicht wissen, wie. Der beste Weg, um Dateien unter Linux zu finden, besteht darin, einige Terminalbefehle zu verwenden. Wenn Sie einige dieser Befehle beherrschen, können Sie die Dateien vollständig kontrollieren, und sie sind nützlicher als die einfachen Suchfunktionen anderer Betriebssysteme.

Schritt

Methode 1 von 3: Verwenden von "find"

690519 1
690519 1

Schritt 1. Suchen Sie nach Dateien nach Namen

Diese Art der Suche ist die einfachste und Sie können dies mit dem Befehl find tun. Der folgende Befehl führt eine Suche basierend auf dem Wort durch, das in das Verzeichnis eingegeben wurde, in dem Sie sich befinden, sowie die darin enthaltenen Unterverzeichnisse.

find -iname "Dateiname"

Wenn Sie -iname anstelle von -name verwenden, hat der Unterschied zwischen Groß- und Kleinbuchstaben keine Auswirkung. Der Befehl -name betrachtet Groß- und Kleinbuchstaben als unterschiedliche Zeichen

690519 2
690519 2

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

Wenn Sie eine systemweite Suche durchführen möchten, können Sie dem Schlüsselwort den Modifikator / hinzufügen. Der Modifikator weist den find-Befehl an, gründlich zu suchen, beginnend mit dem Root-Verzeichnis.

find / -iname "Dateiname"

  • Sie können eine Suche in einem bestimmten Verzeichnis starten, indem Sie den Modifikator / durch den Verzeichnispfad ersetzen, zum Beispiel /home/pat.
  • Sie können verwenden. anders als /, damit nur innerhalb des Verzeichnisses gesucht wird, in dem Sie sich befinden, und auch der darin enthaltenen Unterverzeichnisse.
690519 3
690519 3

Schritt 3. Verwenden Sie Platzhalterzeichen

* um nach allem zu suchen, was teilweise mit Ihren Schlüsselwörtern übereinstimmt.

Das Platzhalterzeichen * kann verwendet werden, um Dateien zu finden, deren vollständigen Namen Sie nicht kennen, oder wenn Sie alle Dateien mit einer bestimmten Erweiterung finden möchten.

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

  • Der obige Befehl gibt alle.conf-Dateien im Benutzerverzeichnis namens Pat (sowie die darin enthaltenen Unterverzeichnisse) zurück.
  • Sie können es auch verwenden, um alles zu finden, dessen Name teilweise mit diesem Schlüsselwort übereinstimmt. Wenn Sie beispielsweise viele Dokumente zu wikiHow haben, können Sie diese finden, indem Sie "*wiki*" eingeben.
690519 4
690519 4

Schritt 4. Erleichtern Sie die Verwaltung von Suchergebnissen

Bei zu vielen Suchergebnissen wird es für Sie schwierig, die gewünschte Datei zu finden. Verwenden Sie das Zeichen | und senden Sie die Suchergebnisse zurück an das Filterprogramm "weniger". Auf diese Weise können Sie die Suchergebnisse einfacher durchblättern und filtern.

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

690519 5
690519 5

Schritt 5. Suchen Sie nach Suchergebnissen mit einem bestimmten Typ

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

find / -type f -iname "Dateiname"

690519 6
690519 6

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

Wenn Sie viele Dateien mit ähnlichen Namen haben, aber die Größe der gewünschten Datei kennen, können Sie die Suche nach Größe filtern.

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

  • Der obige Befehl gibt Suchergebnisse von 50 Megabyte oder mehr zurück. Sie können + oder - verwenden, um nach Dateien mit einer größeren oder kleineren Größe zu suchen. Wenn das + oder - Zeichen weggelassen wird, gibt die Suche nur Ergebnisse mit der wirklich "richtigen" Größe zurück.
  • Sie können die Suche nach Byte (c), Kilobyte (k), Megabyte (M), Gigabyte (G) oder 512 Byte (b) Blöcken filtern. Beachten Sie, dass die Markierungen zwischen Groß- und Kleinbuchstaben unterscheiden.
690519 7
690519 7

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

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

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

Der obige Befehl sucht im Verzeichnis "travelphotos" nach Dateien, die über 200 Kilobyte groß sind, aber nicht das Wort "2015" im Namen haben

690519 8
690519 8

Schritt 8. Führen Sie eine Dateisuche nach Besitzername oder Berechtigung durch

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

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

Die obigen Beispiele führen eine Suche nach einem bestimmten Benutzer, einer Gruppe oder einer Berechtigung innerhalb eines Schlüsselworts durch. Sie können den Dateinamen auch weglassen, um alle Dateien zurückzugeben, die diesem Typ entsprechen. Find / -perm 777 gibt beispielsweise alle Dateien mit 777-Berechtigungen (ohne Einschränkungen) zurück

690519 9
690519 9

Schritt 9. Verketten Sie die Befehle, um die Aktion auszuführen, wenn die Datei gefunden wurde

Sie können den Befehl find mit anderen Befehlen kombinieren, sodass Sie Dateien verarbeiten können, die mit diesem Befehl von einem Schlüsselwort zurückgegeben werden. 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 {};

Der obige Befehl durchsucht das Verzeichnis, in dem Sie sich befinden (und alle Unterverzeichnisse darin) nach Dateien mit Berechtigungen von 777. Dann ändert der Befehl chmod die Berechtigungen auf 755

Methode 2 von 3: Verwenden von "lokalisieren"

690519 10
690519 10

Schritt 1. Installieren Sie

Lokalisieren Funktionalität. Der Befehl locate ist aufgrund der Datenbankauslastung Ihres Dateisystems im Allgemeinen schneller als der Befehl find. Nicht alle Linux-Typen sind mit einer Lokalisierungsfunktion ausgestattet, geben Sie also den folgenden Befehl ein, um sie zu installieren:

  • Geben Sie sudo apt-get update ein und drücken Sie die Eingabetaste.
  • Sie können es auf Debian und Ubuntu wie folgt installieren: Geben Sie sudo apt-get install mlocate ein und drücken Sie dann die Eingabetaste. Wenn die Locate-Funktion früher installiert wurde, sehen Sie die Meldung mlocate ist bereits die neueste Version.
  • Verwenden Sie unter Arch Linux den Paketmanager pacman: pacman -Syu mlocate
  • Verwenden Sie für Gentoo emerge: emerge mlocate
690519 11
690519 11

Schritt 2. Aktualisieren

Lokalisieren Datenbank Du. Der Befehl "locate" kann nichts finden, bis er erstellt und aktualisiert wurde. Der Vorgang wird normalerweise täglich automatisch durchgeführt, Sie können ihn jedoch auch manuell aktualisieren. Sie müssen dies tun, wenn Sie die Ortungsfunktion so schnell wie möglich verwenden möchten.

Geben Sie sudo updatedb ein und drücken Sie dann die Eingabetaste

690519 12
690519 12

Schritt 3. Verwenden Sie die

Lokalisieren um eine einfache Suche durchzuführen.

Die Locate-Funktion arbeitet schnell, hat aber nicht so viele Optionen wie der find-Befehl. Sie können grundlegende Dateisuchen auf ähnliche Weise wie mit dem Befehl find durchführen.

find -i "*.jpg"

  • Der obige Befehl durchsucht das gesamte System nach Dateien mit der Erweiterung.jpg. Das Platzhalterzeichen * funktioniert ähnlich wie der Befehl find.
  • Wie der Befehl find macht auch der Modifikator -i Groß- und Kleinbuchstaben in Schlüsselwörtern, die als gleich angesehen werden.
690519 13
690519 13

Schritt 4. Suchergebnisse einschränken

Wenn Ihre Suche so viele Ergebnisse liefert, dass Sie sie nur schwer verwenden können, können Sie diese Ergebnisse mit dem Modifikator -n reduzieren, gefolgt von der Anzahl der Ergebnisse, die Sie zurückgeben möchten.

find -n 20 -i "*.jpg"

  • Es werden nur 20 Suchergebnisse angezeigt.
  • Sie können auch |. verwenden um Suchergebnisse an das weniger Filterprogramm zu senden, um das Scrollen der Ergebnisse zu erleichtern.

Methode 3 von 3: Suchen nach Text in Dateien

690519 14
690519 14

Schritt 1. Verwenden Sie den Befehl

grep um die Textzeichenfolge in der Datei zu finden.

Wenn Sie nach einer Datei suchen, die eine bestimmte Phrase oder Zeichenfolge enthält, können Sie den Befehl grep verwenden. Der grundlegende grep-Befehl hat das folgende Format:

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

  • Der Modifikator -r macht die Suche "rekursiv", sodass eine Suche innerhalb des Verzeichnisses und aller darin enthaltenen Unterverzeichnisse durchgeführt wird, um Dateien zu finden, die Text mit dem Suchschlüsselwort enthalten.
  • Der Modifikator -i gibt an, dass das Suchschlüsselwort nicht zwischen Groß- und Kleinbuchstaben unterscheidet. Wenn Sie bei der Suche die Unterscheidung zwischen Groß- und Kleinbuchstaben erzwingen möchten, ignorieren Sie den -i-Modifizierer.
690519 15
690519 15

Schritt 2. Entfernen Sie überschüssigen Text

Wenn Sie eine grep-Suche wie oben ausführen, sehen Sie den Dateinamen mit den passenden Buchstaben hervorgehoben. Sie können den passenden Text ausblenden und nur den Dateiverzeichnisnamen und den Pfad anzeigen, indem Sie Folgendes hinzufügen:

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

690519 16
690519 16

Schritt 3. Verbergen Sie die Fehlermeldung

Der Befehl grep gibt einen Fehler zurück, wenn versucht wird, ohne die entsprechenden Berechtigungen auf ein Verzeichnis zuzugreifen, oder wenn ein leeres Verzeichnis eingegeben wird. Sie können Fehlermeldungen an /dev/null senden, damit sie nicht angezeigt werden.

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

Empfohlen: