장치의 전체 파일 시스템 블록을 grep합니다.

장치의 전체 파일 시스템 블록을 grep합니다.

주문하다

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.

Stephane Chazelas가 주석에서 지적한 것처럼 /proc또는 같은 디렉토리를 건너뛰고 싶을 수도 있습니다. 해당 파일을 읽을 때 해당 파일 중 일부는 차단됩니다(열린 채로 검색 중단). /sys이렇게 하려면 파일 시스템의 나머지 부분이 하나의 장치에 있다고 가정하고 -xdevaka. 지시어를 사용해 볼 수 있습니다. -mount-fstype지침이 귀하에게 효과가 있다면 더욱 좋습니다(불행히도 Linux에서는 작동하지 않았습니다).

IMO, 이 작업을 만지작거리지 말고 한 번에 모든 작업을 수행하려고 하기보다는 실제로 검색하려는 최상위 디렉터리에 대한 프로세스를 반복해야 합니다(이 경우에는 찾을 필요가 없을 것입니다). ..)

관련 정보