すべてのディレクトリの権限を繰り返し変更し、1つのディレクトリのみを除外

すべてのディレクトリの権限を繰り返し変更し、1つのディレクトリのみを除外

すべてのファイルとディレクトリの権限を繰り返し変更し、特定のディレクトリを除外したいと思います。

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 {} \;

おすすめ記事