是否有列出所有Unix组名的命令?

我知道有一个列出所有用户组的/etc/group文件。

我想知道是否有一个简单的命令来列出所有用户组名,尽管解析世界可读的/etc/group文件。我愿意创建一个管理员网页,列出Linux帐户的组名。

1117139 次浏览

要列出所有已分配用户的本地组,使用此命令:

cut -d: -f1 /etc/group | sort

获取更多信息- > # EYZ0, # EYZ0, # EYZ0 < / p >

如果你想让系统知道所有组,我建议使用getent group而不是解析/etc/group:

getent group

原因是在网络系统上,组不仅可以从/etc/group文件中读取,还可以通过LDAP或黄页获得(已知组的列表来自本地组文件以及在这些情况下通过LDAP或YP接收到的组)。

如果你只想要组名,你可以使用:

getent group | cut -d: -f1

在Linux, macOS和Unix上显示你所属的组,使用:

id -Gn

这相当于groups实用程序,在Unix上已经过时了(根据Unix手册)。

在macOS和Unix上,建议使用id -p命令进行正常交互。

参数说明:

-G--groups -打印所有组id

-n--name -为-ugG打印一个名称而不是一个数字

-p -使输出可读。