按名称查找文件夹并递归地将其子文件夹权限设置为 755

Find a folder by name and recursively set it's childrens folders permission to 755

我试图将 find . -type d -name 'uploads' 的结果通过管道传输到另一个查找函数中,然后查找所有子文件夹并设置权限,但它不接受它。

有人能帮忙吗?我想要做的是找到一个名为 'uploads' 的文件夹,并将所有子文件夹的权限设置为 755,将所有文件设置为 777。

不是特别优雅,但是一个 while 循环就可以完成这项工作(除非你的文件夹名称中有换行符或其他东西,在这种情况下 xargsparallel 会是更好的选择)

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