모든 디렉터리에 대한 권한을 반복적으로 변경하고 하나의 디렉터리만 제외

모든 디렉터리에 대한 권한을 반복적으로 변경하고 하나의 디렉터리만 제외

모든 파일과 디렉터리의 권한을 반복적으로 변경하고 특정 디렉터리는 제외하고 싶습니다.

find . -name user -prune -o -type d -exec chmod 755 {} \;

그러나 이것을 사용하면 재귀적으로가 아닌 디렉토리만 변경됩니다. 디렉터리의 내용은 변경되지 않습니다.

하지만,

find . -name user -prune -o -type d -exec chmod -R 755 {} \;

이렇게 하면 모든 디렉터리와 그 내용이 변경되고 제외하려는 "사용자" 디렉터리가 포함됩니다.

그렇다면 모든 파일과 디렉터리의 권한을 재귀적으로 변경하지만 사용자 디렉터리는 변경하지 않는 방법은 무엇입니까?

미리 감사드립니다.

답변1

이는 -path 매개변수를 사용하여 수행할 수 있습니다.

find . -path dir -prune -o -name user -type d -exec chmod -R 755 {} \;

여러 디렉터리를 무시하고 싶다면 그렇게 할 수 있습니다.

find . \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o -name user -type d -exec chmod -R 755 {} \;

관련 정보