id -u 显示当前用户 UID,如 1000;2. whoami 显示当前有效用户名,如 alice;3. su 切换后 whoami 变 root,who am i 仍显示原登录用户 alice,体现权限身份与登录来源的 区别。

在 linux 系统中,用户身份的识别和管理是日常操作的重要部分。了解当前登录用户的 ID 信息以及使用 whoami 命令查看身份,对权限控制和脚本编写非常有帮助。
用户 ID(UID)的基本概念
每个 Linux 用户都有一个唯一的数字标识,称为用户 ID(UID)。系统通过 UID 来判断用户的权限,而不是用户名。可以通过以下方式查看当前用户的 UID:
- 使用 id 命令:执行 id -u 可显示当前用户的 UID。
- 查看所有用户信息:运行 id 会输出 UID、GID(主组 ID)以及所属的附加组。
- 查看用户名对应的 UID:使用 id username 可查询指定用户的 UID。
例如:
id -u
输出可能是:1000,表示当前用户的 UID 为 1000。
whoami 命令的作用与用法
whoami 命令用于显示当前实际登录用户的用户名。它读取的是进程的有效用户身份,常用于确认你以哪个用户身份在操作。
- 基本用法:直接输入 whoami 并回车。
- 与 su 和 sudo 的 区别 : 当你使用 su 切换用户后,whoami 会显示切换后的用户名。
- 脚本中的用途:在 自动化 脚本中,可用 whoami 判断当前执行者是否为预期用户。
示例:
whoami
输出可能是:alice
whoami 与 who am i 的区别
虽然名字相似,但两者行为不同:
比如你用 alice 登录,然后执行 su root,结果如下:
- whoami 输出:root
- who am i 输出:alice
这说明 whoami 更关注“你现在是谁”,而 who am i 关注“你是怎么进来的”。
基本上就这些。掌握 id -u 和 whoami 能帮你快速确认身份和权限上下文,避免因用户错位导致操作失败。