如何递归地更改某些子目录的所有权?

如何递归地更改某些子目录的所有权?

我有一个目录,里面有大约 100 个子目录。其中一些子目录是“Wordpress 文件夹”,其他的则不是。我想要做的是更改“Wordpress 文件夹”内的目录的所有权themesplugin我使用此命令获取这些目录的列表:

find . -maxdepth 3 -type d | grep 'wp-content/themes\|wp-content/plugins'

plugins我怎样才能改变所有目录及其子目录的所有权themes

答案1

您可以修改命令这边走

find . -maxdepth 3 -type d -regextype posix-extended -regex '.*wp-content/(themes|plugins)' -exec echo chown -R user:group {} +
  • user:group将该对与实际用户和组进行更改。
  • 将命令的结尾find从更改{} +{} \;以输出每个目录的单独命令 - 它可能更容易阅读(参考)。
  • 删除echo以进行更改。

我担心@muru 的解决方案更优雅:) 可以修改为这边走

echo chown -R user:group */wp-content/{themes,plugins}
  • user:group将该对与实际用户和组进行更改。
  • 删除echo以进行更改。

相关内容