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

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


当前回答

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

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

欲了解更多信息- > Unix组, 减少命令, 排序命令

其他回答

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

id -Gn

它相当于Unix上已经过时的groups实用程序(根据Unix手册)。

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

参数说明:

-g,——groups -打印所有组id -n,——name -输出名称而不是数字,用于- ugg -p -使输出为人类可读。

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

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

欲了解更多信息- > Unix组, 减少命令, 排序命令

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

getent group

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

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

getent group | cut -d: -f1