将一个组的文件分配给另一个


5

我想使用groupdel命令删除一个组,但是在执行此操作之前,我想将属于该组的所有文件分配给另一个文件,有没有办法做到这一点?

我知道我可以find / -gid group_id用来查找属于该组的文件,然后手动将它们分配给新文件。我寻求一种自动完成任务的方法。

Answers:


4

find / -group <groupname> -exec chown :<groupname> {} \+

应该可以。只需替换<groupname>为适当的名称即可。

find允许您使用-exec主对象在返回的文件上调用任意命令。在这种情况下,我们知道要更改每个匹配文件的组所有权,我们可以简单地传递chown命令(以及任何参数-在这种情况下,我们希望将其转让给匹配文件名的所有者的组名):,它告诉chown您将其作为组名而不是用户名)作为参数-exec。返回的文件名将find代替插入到命令中{},并+;告诉find它已到达外部命令的末尾,并且应将任何其他参数解析为其自己的名称。使用\+而不是\; 告诉find在每个命令中处理多个文件(这样效率更高)。


2
请多解释一点。
山姆

编辑了我的答案。这样可以清除一下吗?
D_Bye
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.