동일한 find 명령이 두 가지 다른 결과를 제공하는 이유는 무엇입니까?

동일한 find 명령이 두 가지 다른 결과를 제공하는 이유는 무엇입니까?

이런 일이 나에게 두 번이나 일어났습니다(편집: 복제할 수 있을 정도로 여러 번 발생했습니다). 저는 Raspberry Pi로 작업 중이며 이미 존재하는 파일을 찾고 있으므로 다음 명령을 입력합니다.

sudo find / -iname 'firefox_binary.py'

처음 입력했을 때는 오류 없이 실행됐는데, 파일을 찾을 수 없었습니다. 그러나 몇 초 후에 동일한 명령을 실행하면 이를 찾습니다.

이것은 동일한 터미널 창, 동일한 경로, 동일한 시스템, 동일한 파일 구조에서 실행되는 동일한 명령이며 첫 번째 실행과 두 번째 실행 사이에는 몇 초 밖에 걸리지 않습니다. 어떻게 이런 결과가 가능합니까?

답변1

위 결과를 바탕으로 해결 방법으로 검색을 다음으로 제한해 볼 수 있습니다./usr

sudo find /usr -iname 'firefox_binary.py'

/sys또는 다음 방법 중 사용 사례에 가장 적합한 방법을 건너뛰세요.

sudo find / -mount -iname 'firefox_binary.py'

sudo find / -not -path '/sys/*' -iname 'firefox_binary.py'

IMHO의 또 다른 추악한 해결 방법은 검색하기 전에 문제의 디렉터리 채우기를 실행하는 것입니다.

ls /sys/kernel/debug/tracing/options

또는

cat /sys/kernel/debug/tracing/options/<some_file>

아니면 무엇이든 필요합니다.

또한 관리자에게 버그 보고서를 제출하는 것이 좋습니다 find(아마도바쁜 상자또는도구 찾기). 나는 find이 경우 적어도 오류 메시지 없이는 재귀를 종료해서는 안 된다고 생각합니다.

답변2

이는 find 버전 4.4.2에서 발견된 실제 버그였지만 find 버전 4.6.0에서 수정되었습니다.

관련 정보