chmod 特定用户创建的所有文件夹

chmod 特定用户创建的所有文件夹

假设我有以下文件夹结构

folder/
├─ subfodler_2/     #User1
├─ subfolder_3/     #User2
├─ subfolder_1/     #User1

我想要由 777chmod创建的所有文件夹(和文件) 。User1

我知道我无法通过以下方式获取文件

ls -la | grep User1

我知道如何访问chmod特定文件夹,但我不知道如何“使用 ie 的输出”ls来解析它chmod

如果我可以将它写为 bash 脚本,那么它不必是一行行,那就太好了

答案1

您可以使用find它来搜索特定文件。 -user User1将过滤结果,仅显示 User1 拥有的结果。

然后您可以使用-exec对这些文件运行命令

find folder -user User1 -exec chmod 777 {} +

如果您的文件都不是可执行的(也许您正在 PDF 库上执行此操作),那么 777 可能不是最干净的解决方案。在这种情况下,您可以执行此操作以使目录全局可读/可写/可执行,但文件仅全局可读/可写。

find folder -user User1 -type d -exec chmod 777 {} +
find folder -user User1 -type f -exec chmod 666 {} +

您原来的问题询问有关解析的问题ls。你不应该这样做。关于此事的进一步阅读:

为什么*不*解析`ls`(以及该怎么做)?

相关内容