我试图将find . -type d -name 'uploads'
的结果传递到另一个查找函数中,然后查找所有子文件夹并设置权限,但它不接受它。
有人可以帮忙吗?我想要做的是找到一个名为“uploads”的文件夹,所有子文件夹将其权限设置为755,将所有文件设置为777.
答案 0 :(得分:3)
不是特别优雅,但是while循环可以完成这项工作(除非您的名称或其他内容中包含带换行符的文件夹,在这种情况下xargs
或parallel
将是更好的选择)
find . -type d -name 'uploads' | while read d; do chmod -R 755 "$d"; done
...使用xargs,你只能执行单个命令,但这似乎就是你需要的全部
find . -type d -name 'uploads' -print0 | xargs -0 chmod -R 755
E:要按照请求创建所有子目录755和文件777,while循环将执行此操作:
find . -type d -name 'uploads' | while read d; do
find "$d/" -type d -print0 | xargs -0 chmod 755;
find "$d/" -type f -print0 | xargs -0 chmod 777; done