Linux whoami命令详解

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 用户。

相关推荐
inkuu6 分钟前
WSL启动慢问题分析与修复
linux
snow@li18 分钟前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
志栋智能1 小时前
超自动化运维与DevOps的深度融合
运维·网络·人工智能·安全·自动化
JJJennie7772 小时前
MAI Gateway技术揭秘:大模型网关能做什么?从原理到落地
linux·服务器·网络·ai网关
风哥2号4 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
wuminyu7 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
新时代牛马8 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
猿与禅8 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界8 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮8 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶