我知道有/etc/group
列出所有用户组的文件。
我想知道是否有一个简单的命令可以列出所有用户组名称,尽管解析了世界可读/etc/group
文件。我愿意创建一个列出 Linux 帐户组名的管理员网页。
我知道有/etc/group
列出所有用户组的文件。
我想知道是否有一个简单的命令可以列出所有用户组名称,尽管解析了世界可读/etc/group
文件。我愿意创建一个列出 Linux 帐户组名的管理员网页。
如果您希望系统知道所有组,我建议使用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
- 使输出可读。