특정 디렉토리 아래의 모든 파일 및 하위 디렉토리에 755 권한을 설정하고 싶지만 755 권한이없는 구성 요소에 대해서만 chmod 755를 실행하려고합니다.
find /main_directory/ -exec chmod 755 {} \;
은 IF find
명령은 긴 목록을 반환,이 시간이 많이 걸릴 것입니다. stat 명령을 사용하여 각 구성 요소의 Octal 파일 수준 권한을 확인한 다음 if-else를 사용하여 파일 권한을 전환 할 수 있지만 파일 / 디렉토리의 권한을 사용 find
하고 xargs
먼저 확인하는 단일 행 접근법이 있습니까? 다음 사용 chmod
이 다른 것으로 설정되어있는 경우 755로 변경.
6
이는 조기에 최적화 된 것일 수 있으며 더 빠를 수도 있습니다. 이러한 검사를 모두 수행하면 속도가 느려질 수 있습니다. 더 빠른지 확인하기 위해 테스트하면 많은 작업을 수행 해야하는 경우에만 보상됩니다.
—
ctrl-alt-delor
모든 파일에 실행 권한을 부여하고 싶지 않을 수 있습니다. 보안상의 위험이 있습니다. (이것은 Microsoft Windows의 바이러스 벡터 중 하나입니다. 모든 것이 실행 가능합니다). 기호 모드에서는 다음과 같이 말할 수 있습니다
—
ctrl-alt-delor
u+rw,go+r,go-w,ugo+X
. 수도에 주목하십시오.
@ ctrl-alt-delor에 동의하지만 같은 것을 달성 해야하는 u = rwX, go = rX에 더 가까운 것을 제안 할 것입니다.
—
penguin359