명령
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
. Stephane Chazelas가 주석에서 지적했듯이 거기에 있는 일부 파일은 읽을 때 차단됩니다(열린 상태로 검색이 중단됩니다). 이렇게 하려면 -xdev
aka를 시도해 볼 수 있습니다. -mount
지시문에 따라 파일 시스템의 나머지 부분이 하나의 장치에 있다고 가정합니다. 지시문이 효과가 있다면 -fstype
그게 더 좋을 것입니다(불행히도 Linux에서는 작동하지 않습니다).
IMO에서는 이 문제를 다루기보다는 한 번에 모든 작업을 수행하는 대신 실제로 검색하려는 최상위 디렉토리에 대해 프로세스를 반복해야 합니다(이 경우 찾을 필요가 없을 수도 있습니다...).