在 Linux 系统管理中,用户 ID(User ID,UID)是每个用户的唯一标识符,用于区分不同用户并控制其系统权限,查看用户 ID 是日常运维、权限管理和故障排查的基础操作,本文将详细介绍 Linux 系统中查看用户 ID 的多种方法,包括命令行工具、系统文件解析及高级技巧,帮助用户全面掌握相关技能。

基础命令:id 命令详解
id 命令是 Linux 系统中查看用户和用户组 ID 最直接、最常用的工具,它能快速显示当前用户或指定用户的 UID、用户组 ID(GID)以及所属的附加组信息。
查看当前用户的 ID
直接在终端输入 id 命令,系统会返回当前用户的 UID、主 GID 及附加组列表。
id
输出示例:
uid=1000(alex) gid=1000(alex) groups=1000(alex),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),44(video),46(plugdev),116(lpadmin),126(netdev)
uid=1000(alex):表示用户 alex 的 UID 为 1000,括号内为用户名。gid=1000(alex):表示主用户组 GID 为 1000。groups=:后面列出用户所属的所有附加组及其 GID。
查看指定用户的 ID
通过 -u、-g、-G 参数可分别查看指定用户的 UID、主 GID 和所有附加组 GID:
id -u username # 查看指定用户的 UID id -g username # 查看指定用户的主 GID id -G username # 查看指定用户的所有附加组 GID
查看用户 www-data 的 UID:
id -u www-data
输出:
33
id 命令常用参数
| 参数 | 功能说明 |
|---|---|
-u |
仅显示 UID |
-g |
仅显示主 GID |
-G |
显示所有附加组 GID(用空格分隔) |
-n |
显示用户名或组名(需配合 -u、-g、-G 使用) |
-r |
显示实际 ID(而非有效 ID,通常与 uid、gid 配合) |
系统文件解析:直接读取 /etc/passwd 和 /etc/group
Linux 系统的用户信息存储在 /etc/passwd 文件中,用户组信息存储在 /etc/group 文件中,通过直接查看这些文件,可以获取更详细的用户 ID 数据。
查看 /etc/passwd 文件
/etc/passwd 文件的每行代表一个用户,字段之间用冒号 分隔,格式为:
用户名:密码:UID:GID:用户描述:家目录:登录Shell
查看文件内容:

cat /etc/passwd | grep "alex"
输出示例:
alex:x:1000:1000:Alex:/home/alex:/bin/bash
第 3 个字段 1000 即为 UID,第 4 个字段 1000 为主 GID。
查看 /etc/group 文件
/etc/group 文件记录了用户组信息,格式为:
组名:密码:GID:组成员列表
查看 sudo 组的信息:
cat /etc/group | grep "sudo"
输出示例:
sudo:x:27:alex,emma
第 3 个字段 27 为 GID,第 4 个字段 alex,emma 表示该组的成员。
使用 awk 或 cut 提取特定字段
通过 awk 或 cut 命令可快速提取 UID 或 GID:
# 提取用户 alex 的 UID
grep "^alex:" /etc/passwd | cut -d: -f3
# 提取用户 alex 的主 GID
grep "^alex:" /etc/passwd | awk -F: '{print $4}'
高级技巧:结合 whoami、logname 等命令
除了 id 命令外,Linux 还提供了一些辅助命令,可结合使用以实现更灵活的用户 ID 查询。
whoami 命令
显示当前登录的用户名,需结合 id 命令获取 UID:

whoami && id -u
输出示例:
alex
1000
logname 命令
显示当前登录用户的原始用户名(适用于切换用户后的场景):
logname
users 命令
列出当前登录的所有用户(包括重复登录的用户):
users
输出示例:
alex pts/0
批量查看用户 ID 的方法
当需要批量获取多个用户的 ID 时,可通过循环或脚本实现,使用 for 循环查看用户列表的 UID:
for user in alex emma www-data; do
echo "User: $user, UID: $(id -u $user)"
done
输出示例:
User: alex, UID: 1000
User: emma, UID: 1001
User: www-data, UID: 33
Linux 系统中查看用户 ID 的方法多样,可根据实际需求选择合适的工具:
- 快速查询:使用
id命令,配合-u、-g等参数获取指定用户的 ID 信息。 - 底层解析:直接读取
/etc/passwd和/etc/group文件,适用于需要详细用户信息的场景。 - 批量操作:结合循环或脚本,高效处理多个用户的 ID 查询。
掌握这些方法不仅能提升系统管理效率,还能为权限配置、日志分析等操作提供基础支持,在日常运维中,建议优先使用 id 命令,其简洁性和直观性更适合快速查询需求。



















