Bash 如何仅删除文件(不包括文件夹)的SGID位?

Bash 如何仅删除文件(不包括文件夹)的SGID位?,bash,chmod,Bash,Chmod,不幸的是,我递归地将SGID位应用于我的文件夹树。 SGID被设置为任何文件或目录,尽管我只想将SGID位设置为文件夹。 所以我想纠正我的错误 如果我做一个chmod-rg-s*,它将包括文件和文件夹 如何仅递归删除文件夹中文件的SGID位?您可以使用find仅对文件执行命令: find . -type f -exec chmod g-s {} \; 伟大的!真管用!你能用:{}\解释一下最后一部分吗;大括号告诉find命令“将结果放在这里”。这个\;是一个转义分号,表示“全部完成”。这是一个

不幸的是,我递归地将SGID位应用于我的文件夹树。 SGID被设置为任何文件或目录,尽管我只想将SGID位设置为文件夹。 所以我想纠正我的错误

如果我做一个
chmod-rg-s*
,它将包括文件和文件夹


如何仅递归删除文件夹中文件的SGID位?

您可以使用
find
仅对文件执行命令:

find . -type f -exec chmod g-s {} \;

伟大的!真管用!你能用:{}\解释一下最后一部分吗;大括号告诉find命令“将结果放在这里”。这个\;是一个转义分号,表示“全部完成”。这是一个很好的问题,对于希望在运行命令之前了解一切工作原理的您来说也是一个很好的问题。