有没有办法找到 Linux 中分配给用户的组数?
as of right now i have:
foo : foo bar apple users
我使用的某个应用程序可能为用户提供了一组“苹果用户”,但我无法分辨,当我运行
groups foo | awk {print $6}
我收到了
users
我不知道如何知道我有多少用户
答案1
返回groups
您的帐户所在组的列表,您可以使用以下命令:
groups | wc -w
将wc -w
计算 返回的单词数groups
。
答案2
groups 命令不考虑输出中带有空格的组。因此,名称中带有空格的组的输出与两个单独的组相同。
我会这样做:
grep "apple users" /etc/group
这应该返回类似
apple users:x:1010:fred,barney,dino
答案3
方法 1:
foo : foo bar apple 用户 (用户名 -> foo)
运行 => lid foo | wc -l
输出:4
方法 2:
运行 => 组用户名
输出:用户名:用户名组1组2
=> 组用户名 | wc -w | xargs -I % expr % - 2
输出:3(用户所属组的数量)
foo :foo bar 苹果用户
运行 => 组 foo | wc -w | xargs -I % expr % - 2
输出:4
计算 groups 返回的单词数,然后减去 2,因为我们得到的计数中有多余的 'username' 和 ':'。最后,我们得到了用户所属的组总数!