모든 파일과 디렉터리의 권한을 반복적으로 변경하고 특정 디렉터리는 제외하고 싶습니다.
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 {} \;