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

cav*_*ila 599 linux

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

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

Arp*_*pit 858

你试过这个命令吗?

cut -d: -f1 /etc/group | sort
Run Code Online (Sandbox Code Playgroud)

用于整个组列表使用

cut -d: -f1 /etc/group | sort
Run Code Online (Sandbox Code Playgroud)

有关更多信息 - > Unix组, 剪切命令, 排序命令

  • @zed`cut`是另一个从输入中提取特定列的命令.在这里,我正在提取字段1,其中字段由`:`分隔 (5认同)
  • 是的,MichaelIT是对的,groups命令没有列出所有组.我之所以问这个是因为不确定是否有像group这样的简单命令列出所有组名称,甚至是像组[-a | --all]一样切换它来列出所有系统组而不进行文件扫描. (3认同)
  • 什么是"cut -d:-f1"? (3认同)

das*_*sup 258

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

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

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

  • 对于某些用例,可能更喜欢组名的组列表:`getent group | cut -d:-f1 | sort` (6认同)
  • 如果需要编号的行,请执行`getent group | 剪切 -d: -f1 | 排序 | 猫-n`。 (2认同)

ken*_*orb 49

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

id -Gn
Run Code Online (Sandbox Code Playgroud)

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

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

参数说明:

-G,--groups- 打印所有组ID

-n,--name- 打印名称而不是数字,用于-ugG

-p - 使输出易于阅读.

  • 并且`id -Gn someusername`返回指定用户的组列表. (10认同)
  • `id -Gnz | xargs -0 -I%echo%`将在单独的行中列出每个组.如果组名称中包含空格,则此选项很有用. (6认同)
  • Doest回答与当前用户之外的组有关的原始问题。 (3认同)