我知道有/etc/group
文件列出了所有用户组。
我想知道是否有一个简单的命令来列出所有用户组名称,尽管解析了世界上可读的/etc/group
文件。我愿意创建一个列出Linux帐户组名的管理员网页。
答案 0 :(得分:828)
您是否尝试过此命令
groups
整个群组列表使用
cut -d: -f1 /etc/group | sort
更多信息 - > Unix groups, Cut command, sort command
答案 1 :(得分:248)
如果您希望系统知道所有组,我建议您使用getent
而不是解析/etc/group
。在联网系统上,组不仅可以从/ etc / group文件读取,还可以通过LDAP或黄页获取,即已知组的列表来自本地组文件以及通过LDAP或YP接收的组。
getent group
将以/ etc / group-file使用的相同格式为您提供所有组的列表。
如果您只想要群组名称,getent group | cut -d: -f1
将完成这项工作(与上述相同)。
答案 2 :(得分:44)
在Linux,macOS和Unix上显示您所属的组,请使用:
id -Gn
相当于已在Unix上废弃的groups
实用程序(根据Unix manual)。
在macOS和Unix上,建议使用命令id -p
进行常规交互。
参数说明:
-G
,--groups
- 打印所有组ID打印名称而不是数字
-n
,--name
- 为-ugG
-p
- 使输出具有人类可读性。