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
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.
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 😐
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
Interessant ^ _ ^
Wie cool das Chakra-Symbol aussieht hahahahahaha 😀
Mageia fehlt 🙂
Ja richtig 😀
Im Moment basiert ich auf diesem Hehehehe. Danke 🙂
Und eine für meine Distribution ...
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 ...?
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.
Vielen Dank Hugo, ausgezeichnete Erklärung, ich kann nur sagen, wie leistungsfähig das Terminal in Gnu / Linux ist!
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?
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
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.
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
Wie finde ich Dateien, die mit Zahlen enden? Danke