find 명령으로 찾은 여러 파일의 권한을 변경하는 방법은 무엇입니까?


11

수많은 파일이있는 디렉토리가 있습니다. 파일의 755일부에는 644권한 이 있고 다른 부분에는 권한이 있습니다. 755권한이 있는 파일을로 변환하고 싶습니다 644. 디렉토리 자체에서 다음 행을 실행하여 시도했습니다.

find . -perm 755 -exec chmod 644 {}\;

그러나 결과적으로 권한은 디렉토리 자체에 대해서만 변경되었으며 다시 변경 한 후에 파일 권한이 변경되지 않은 것으로 나타났습니다. 내가 뭔가를 그리워합니까?


명령은 디렉토리에서 실행 가능 비트를 제거하여 chdir 및 포함 된 파일을 볼 수 없게합니다. 그렇기 때문에 명령이 작동하지 않는 것 같습니다. find ./ -type f -exec chmod -x {} \;대신 시도하십시오 .
Shadur

답변:


17

좋아, 문제를 찾은 것 같습니다. 와 사이에 필수 공백 이 있어야 하므로 명령은 다음과 같습니다.{}\;

find . -perm 755 -exec chmod 644 {} \;

오히려 :

find . -perm 755 -exec chmod 644 {}\;

또한 -type f플래그 를 추가하여 디렉토리 권한 변경과 관련된 문제를 해결할 수 있으므로 다음과 같이 표시됩니다.

find . -type f -perm 755 -exec chmod 644 {} \;

6
+대신 사용 \;되는 하위 프로세스 수를 줄이는 대신 사용할 수 있습니다 .
케빈

-type d디렉토리를 찾을 수 있습니다. -type f파일을 찾을 수 있습니다.
Mick T
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.