Befehl
grep -rHinF --colour=always -e "aa:aa:aa:aa" /
Ausgabe
grep: /dev/geom.ctl: Operation not supported by device
grep: /dev/devctl: Device busy
Es scheint, dass es grep
nicht weitergehen kann, weil auf ein Gerät gewartet wird. Wie kann ich solche Geräte überspringen?
Antwort1
Wenn find
verfügbar, versuchen Sie:
find / -type f -exec grep -rHinF --colour=always -e "aa:aa:aa:aa" {} +
Dies gilt nur für normale Dateien, Block- und Zeichengeräte werden also übersprungen. Siehe man find
.
Sie möchten wahrscheinlich Verzeichnisse wie /proc
oder überspringen /sys
; wie Stephane Chazelas in den Kommentaren anmerkt, werden einige Dateien darin blockiert (bleiben geöffnet und blockieren die Suche), wenn Sie sie lesen. Dazu könnten Sie die Direktive -xdev
aka. ausprobieren -mount
, vorausgesetzt, der Rest Ihres Dateisystems befindet sich auf einem Gerät. Wenn die -fstype
Direktive für Sie funktioniert, wäre das besser (leider funktioniert sie bei mir unter Linux nicht).
Meiner Meinung nach sollten Sie, anstatt damit herumzuspielen, den Vorgang einfach für alle Toplevel-Verzeichnisse wiederholen, die Sie wirklich durchsuchen möchten, und nicht versuchen, alles auf einmal zu erledigen (in diesem Fall benötigen Sie „find“ möglicherweise nicht …).