find
권한이 손상된 파일이나 폴더(파일이 있어야 하는 rw
디렉토리 )를 찾고 결과를 제공하거나 가져오는 rwx
명령 을 작성 중입니다 .ls -l
다음 find
명령은 작동하는 것 같지만 이 ls
부분이 문제를 일으킵니다.
find . '(' -not -readable ')' -or \
'(' -not -writable ')' -or \
'(' '(' -not -executable ')' -and -type d ')'
-ls
끝에 또는 를 추가하면 -exec ls -l {} \;
읽을 수 없는 디렉토리에 도달할 때까지 작동합니다. 이렇게 하면 permission denied
오류가 발생하고 완료되지 않고 완전히 종료됩니다. ls -ld $(<that command>)
내가 아는 한 작동하지만 뭔가 빠진 것 같은 느낌이 듭니다 find
.
그런데 POSIX 준수에 대해 걱정하지 않으므로 가독성을 높이기 위해 기다리는 -or
것보다 사용하고 싶습니다 -o
.
답변1
실행 불가능한 디렉토리에 도달한 후 find
들어가려고 시도하지만 실행 가능하지 않기 때문에 들어갈 수 없습니다. 그것을 사용하려고 하지 말라고 말해야 합니다 -prune
.
그리고 단락이 발생하지 않도록 해당 조건을 먼저 설정하십시오.
find . '(' '(' -not -executable ')' -and -type d -and -prune ')' -or \
'(' -not -readable ')' -or \
'(' -not -writable ')'