Команда
grep -rHinF --colour=always -e "aa:aa:aa:aa" /
Выход
grep: /dev/geom.ctl: Operation not supported by device
grep: /dev/devctl: Device busy
Кажется, что grep
не может продолжить, так как ожидает устройство. Как я могу пропустить такие устройства?
решение1
Если find
доступно, попробуйте:
find / -type f -exec grep -rHinF --colour=always -e "aa:aa:aa:aa" {} +
Это применимо только к обычным файлам, поэтому блочные и символьные устройства будут пропущены. См man find
. .
Вероятно, вы захотите пропустить каталоги вроде /proc
или /sys
; как Стефан Шазелас указывает в комментариях, некоторые файлы там будут блокироваться (оставаться открытыми, зависая при поиске) при их чтении. Чтобы сделать это, вы можете попробовать директиву aka -xdev
. -mount
, предполагая, что остальная часть вашей файловой системы находится на одном устройстве. Если директива -fstype
работает для вас, это будет лучше (к сожалению, она не работает у меня на Linux).
На мой взгляд, вместо того, чтобы возиться с этим, вам следует просто повторить процесс для всех каталогов верхнего уровня, в которых вы действительно хотите выполнить поиск, а не пытаться сделать все за один раз (в этом случае вам, возможно, не понадобится find...)