多数のファイルを含むディレクトリがあります。ファイルの一部には755
権限があり、他の部分には644
権限があります。 755
権限のあるファイルを644
に変換したい。次の行をディレクトリ自体から実行してみました。
find . -perm 755 -exec chmod 644 {}\;
ただし、その結果、アクセス許可はディレクトリ自体に対してのみ変更され、変更後はファイルのアクセス許可が変更されていないことがわかりました。私は何かを逃していますか?
わかりました。問題を見つけたようです。 {}
と\;
の間に必須のスペースが必要であると思われるため、コマンドは次のようになります。
find . -perm 755 -exec chmod 644 {} \;
のではなく:
find . -perm 755 -exec chmod 644 {}\;
また、ディレクトリのアクセス許可の変更に関する問題は、-type f
フラグを追加することで解決できるため、次のようになります。
find . -type f -perm 755 -exec chmod 644 {} \;