首页 文章

是否有命令列出所有Unix组名? [关闭]

提问于
浏览
552

我知道有 /etc/group 文件列出了所有用户组 .

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

3 回答

  • 245

    你试过这个命令吗?

    groups
    

    用于 entire group list

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

    欲了解更多信息 - > Unix groupsCut commandsort command

  • 813

    如果您希望系统知道所有组,我建议使用 getent 而不是解析 /etc/group . 在联网系统上,组不仅可以从/ etc / group文件读取,还可以通过LDAP或黄页获取,即已知组的列表来自本地组文件以及通过LDAP或YP接收的组 .

    getent group 将为您提供/ etc / group-file使用的相同格式的所有组的列表 .

    如果您只想要组名, getent group | cut -d: -f1 将完成工作(与上面相同) .

  • 43

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

    id -Gn
    

    这相当于在Unix上已经废弃的 groups 实用程序(根据Unix manual) .

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

    参数说明:

    -G, - groupss - 打印所有组ID -n, - name - 打印名称而不是数字,用于-ugG -p - 使输出具有人类可读性 .

相关问题