Mit dem Terminal: Beispiele mit dem Befehl Suchen

Hier sind einige Beispiele, die wir bei der Verwendung nutzen können Finden Sie, ein Befehl zum Suchen nach Dateien oder Ordnern.

So erhalten Sie Hilfe für den Befehlslauf:

man find

Um das Handbuch zu verlassen, drücken Sie einfach die Taste [Q] (gültig für jedes Handbuch).

In den folgenden Beispielen bedeutet der Punkt (.) Nach dem Suchen (finden.), Dass wir in dem Ordner suchen, der durch die Eingabeaufforderung angegeben wird. Es kann für jeden gültigen Pfad wie / home / ersetzt werden.

Beispiele:

Suchen Sie einfach nach Dateien mit einem Muster.
find . -type f -name "*.deb"

finde und kopiere nach / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Suchen Sie die Dateien Thumbs.db und löschen Sie sie.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Erstellen Sie eine reine Textdatei mit den MD5-Dateien im Verzeichnis.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Löschen Sie störende .svn-Ordner.
find | grep "\.svn$" | xargs rm -fr

Ersetzen Sie einen Text durch einen anderen.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Suchen Sie nach Dateien, die bis vor einem Tag aktualisiert wurden.
find /var/log/[a-z]* \*.sql -mtime +1

So generieren Sie die md5sums-Dateien der DEB-Pakete:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   ordnungsgemäße sagte

    Löschen Sie alle Dateien außer .txt (.txt kann natürlich alles sein)
    finden. ! -name "* .txt" -exec rm {} \;

    Suche ohne Übereinstimmungen ohne Berücksichtigung der Groß- und Kleinschreibung:
    finden. -iname «* foobar *»

    Anmerkung: Der Befehl -exec kann nicht mit dem Parameter -iname ausgeführt werden.

  2.   Taregon sagte

    Ausgezeichnet - dieser Befehl sollte obligatorisch sein, bevor ich mich vor den Optionen fürchtete, die in 'man' vorhanden waren, um suchen zu können, aber wenn ich ihm die Möglichkeit gab, konnte ich sehen, wie mächtig er ist, wenn es darum geht, das zu finden, was ich vergessen habe auf meiner Festplatte 😐

  3.   Hugo sagte

    Suchen ist sicherlich nützlich, insbesondere für den Umgang mit Dateinamen, die Leerzeichen und andere ungewöhnliche Zeichen enthalten. Ich erinnere mich zum Beispiel einmal daran, dass es nicht möglich war, eine Reihe von Verzeichnissen zu komprimieren, bis mir der Gedanke kam, find mit xargs zu verwenden (was übrigens viel schneller als -exec ist) und das Problem gelöst wurde.

    Eine andere meiner bevorzugten Anwendungen für den Befehl find ist das rekursive Ändern von Berechtigungen:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   electron222 sagte

    Interessant ^ _ ^

    1.    KZKG ^ Gaara sagte

      Wie cool das Chakra-Symbol aussieht hahahahahaha 😀

      1.    sieg84 sagte

        Mageia fehlt 🙂

        1.    KZKG ^ Gaara sagte

          Ja richtig 😀
          Im Moment basiert ich auf diesem Hehehehe. Danke 🙂

          1.    Lesterzone sagte

            Und eine für meine Distribution ...

  5.   Archero sagte

    Danke, die Befehle sind sehr nützlich. Ich habe Zweifel, dass ich mich daran erinnere, dass ich in Ubuntu einmal den Befehl find verwendet habe. Ist es ein Alias ​​von find oder ...?

    1.    Hugo sagte

      Negative. lokalisieren, orten y verlegen sind andere Suchbefehle, die sich nicht unterscheiden gefundenverwenden sie eine Datenbank, die regelmäßig mit dem Befehl aktualisiert werden muss aktualisiertb.

      Beide Arten von Befehlen haben ihre Verwendung. Ich benutze zum Beispiel normalerweise aktualisiertb gefolgt von ortenSuchen Sie, wann ich wirklich schnell nach etwas in einem Verzeichnis suchen möchte, in dem viele Daten, von denen ich weiß, dass sie nicht zu häufig aktualisiert werden (z. B. ein Paket in einem Repository), und gefunden Wenn ich etwas Komplexeres tun möchte, z. B. die Suchergebnisse mit einem anderen Befehl kombinieren möchte, oder wenn ich die Datenbank einfach nicht generieren möchte, weil ich weiß, dass das Verzeichnis, in dem ich suchen möchte, nicht zu viele Informationen enthält.

      1.    Archero sagte

        Vielen Dank Hugo, ausgezeichnete Erklärung, ich kann nur sagen, wie leistungsfähig das Terminal in Gnu / Linux ist!

  6.   Sandra sagte

    Hallo, ich sehe, dass dies ein altes Thema ist, aber hoffentlich können Sie mir trotzdem helfen.

    Ich lerne, den regulären Ausdruck zu verwenden, seit ich ein Dokument gesehen habe, und suche nach den Wörtern Fehler oder Fehler und deren Ableitungen Fehler oder fehlgeschlagen oder Fehler usw., und mein regulärer Ausdruck lautet:
    : / \ (. * \ (Fehler | Fehler \). * \) /
    Bei der Ausführung wird mir mitgeteilt, dass es keine Übereinstimmungen gibt 🙁 außer zu
    :/\(.*\(Error\).*\)/
    o
    : / \ (. * \ (Scheitern \). * \) /
    Wenn Sie Übereinstimmungen finden, können Sie mir sagen, wie ich falsch liege?

    1.    KZKG ^ Gaara sagte

      Was ist die vollständige Zeile, die Sie setzen?

      Um zu testen und zu sehen, ob ich die Lösung finde.

      Auf der anderen Seite können Sie hier überprüfen, ob Sie möchten: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   esthefani sagte

    Bitte helfen Sie mir, ich möchte die Dateien, die mit * _ZFIR0069.TXT enden, in einen anderen Pfad kopieren und am Ende ein Datum hinzufügen. Ich mache einen Befehl:

    Datum = $ (Datum + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Aber das Ergebnis ist:

    {} _20160225% -> aber es kopiert nur eine Datei von allen und wird auf diese Weise umbenannt

    Ich möchte, dass alle Dateien kopiert werden und das Format * _ZFIR0069_ $ date .TXT haben

    Grüße.

  8.   pepG sagte

    Was ist der Unterschied zwischen find * -Typ d und find / home / pepe-Typ d? Ich möchte die Verzeichnisse meines Kontos auflisten und verstehe nicht, warum das erste es richtig macht und das zweite nicht. helfen zu

  9.   Kaike sagte

    Wie finde ich Dateien, die mit Zahlen enden? Danke