运行 id 命令可完整查看当前用户 uid、gid、主组名及所有附加组名;id -gn 输出纯组名列表,适用于脚本判断;id -gn 获取主组名更准确;新添组需重新登录才能生效。

最直接的方式是运行 id 命令不带任何参数,它会一次性列出 UID、GID、主组名和所有附加组名,信息完整且无需额外解析。
查看当前用户的全部组归属
执行 id 即可:
- 输出类似
uid=1001(john) gid=1001(john) groups=1001(john),27(sudo),116(docker) - 括号内为组名,数字为对应 GID,一目了然
- 主组(gid=... 后面那个)和附加组(groups=... 列出的其余部分)都包含在内
只看组名,排除数字干扰
用 id -Gn 获取干净的组名列表:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 输出为
john sudo docker这样的空格分隔字符串 - 和
groups命令输出格式一致,但更可靠——不受登录会话缓存影响 - 适合脚本中判断是否在某组,例如:
id -Gn | grep -qw docker
快速提取主组名或检查特定组
针对性操作效率更高:
- 查主组名:id -gn(不是
groups | cut -d' ' -f1,后者可能不准) - 查是否属于 sudo 组:id -Gn | grep -w sudo
- 查指定用户(如 nginx):id -Gn nginx,需有读取 /etc/group 权限
注意权限生效时机
刚用 usermod -aG 加完组,id 可能仍显示旧结果:
- 这不是命令问题,而是凭证未刷新;需新开终端或重新登录
- 图形界面下必须完全登出再登录,仅重启终端不够
- 临时测试可用
newgrp docker,但会启动子 shell










