whoami 是一个用于显示当前有效用户名的 Linux 命令,是 GNU coreutils 软件包的一部分。其名称源自英文短句 "Who am I?",即 "我是谁",用于确认当前会话的用户身份。
一、命令概述与核心功能
whoami 的核心功能是打印与当前有效用户****ID 相关联的用户名。这里的 "有效用户" 是指当前 Shell 会话实际拥有的身份,尤其在使用 su 或 sudo 切换用户后,whoami 会返回当前所处的用户身份,而非最初登录的用户。
whoami 命令最早出现于 2.9 BSD 系统,作为 who am i 的便捷形式。当前 GNU 版本由 Richard Mlynarik 编写。
" 当前有效用户 " 与 " 当前登录用户 " 的区别
当用户通过 su(不携带用户名时默认切换到 root)从一个账户切换到另一个账户后,whoami 返回的是切换后的用户身份,而非最初登录的用户。这是因为 Linux 使用 真实用户 ID ( real UID ) 和 有效用户 ID ( effective UID ) 两个概念来管理用户身份,whoami 依据的是有效用户 ID,因此能准确反映当前命令执行者的权限身份。
二、命令格式与选项
语法格式 :
bash
whoami [OPTION]...
可用选项 :
| 选项 | 说明 |
|---|---|
| --help | 显示帮助信息并退出 |
| --version | 显示版本信息并退出 |
whoami 只有这两个选项,执行时通常不带任何参数即可直接使用。
三、使用示例
3.1 基本用法:查看当前用户名
bash
whoami
输出示例:
text
john_doe
直接显示当前用户的用户名,输出极为简洁。
3.2 切换用户后确认身份
使用 su 切换到其他用户后,可用 whoami 确认当前身份:
bash
su - jane_doe
Password:
whoami
jane_doe
输出显示当前已切换到 jane_doe 用户。