命令功能
logname命令用于显示当前登录用户的用户名。该命令会从 /var/run/utmp文件中读取登录信息,显示当前登录会话的用户名。
基本语法
logname [选项]
常用选项
| 选项 | 说明 |
|---|---|
--help | 显示帮助信息 |
--version | 显示版本信息 |
使用示例
显示当前登录用户名
logname
显示帮助信息
logname --help
显示版本信息
logname --version
输出说明
命令执行后会直接输出当前登录用户的用户名,例如:
username
注意事项
- 环境变量:
logname命令不受$USER或$LOGNAME环境变量的影响,始终显示真实的登录用户名 - su 切换:即使用
su命令切换用户后,logname仍然显示原始登录用户名 - sudo 执行:使用
sudo执行命令时,logname显示的是调用 sudo 的用户名 - 登录会话:该命令依赖于登录会话信息,在非登录环境(如脚本执行)中可能无法正常工作
相关命令
whoami:显示当前有效用户 ID 对应的用户名who:显示当前登录系统的用户信息id:显示用户和组的信息users:显示当前登录系统的用户列表
对比说明
| 命令 | 显示内容 | 受 su 影响 | 受 sudo 影响 |
|---|---|---|---|
logname | 原始登录用户名 | 否 | 否 |
whoami | 当前有效用户名 | 是 | 是 |
id -un | 当前有效用户名 | 是 | 是 |
使用场景:
- 当需要获取原始登录用户名时使用
logname - 当需要获取当前有效用户名时使用
whoami或id -un