插件窝 干货文章 学习Linux命令:如何查看当前用户名称

学习Linux命令:如何查看当前用户名称

用户 LOGNAME 使用 命令 801    来源:    2025-04-09

在Linux系统中查看当前登录用户的名称有多种方法,以下是常用的命令和说明:


1. 使用 whoami 命令

whoami
  • 作用:直接返回当前登录用户的用户名(仅显示有效用户ID对应的名称)。
  • 特点:简洁高效,适合脚本中使用。

2. 使用 id 命令

id -un
  • 作用-u 表示用户ID,-n 显示名称而非ID。
  • 扩展
    • id(不带参数)显示当前用户的UID、GID及所属组信息。

3. 使用环境变量 $USER$LOGNAME

echo $USER
# 或
echo $LOGNAME
  • 原理:Shell环境变量自动存储当前用户名。
  • 注意:极少数情况下可能被修改,但通常可靠。

4. 使用 logname 命令

logname
  • 作用:显示登录时的原始用户名(即使通过su切换用户)。
  • 限制:需有/var/run/utmp权限,可能在sudo下失效。

5. 查看进程信息(适用于复杂场景)

ps -o user= -p $$
  • 解释-o user= 指定只输出用户列,-p $$ 表示当前Shell的进程ID。

常见问题

  • whoami vs logname
    • whoami 返回当前有效用户(如su切换后)。
    • logname 返回登录时的原始用户(不受su影响)。
  • 权限问题:普通用户均可执行上述命令,无需root权限。

总结

  • 脚本中使用:推荐 whoamiid -un(简洁可靠)。
  • 需原始登录名:使用 logname
  • 环境变量法echo $USER 快速但不绝对可靠(如环境被篡改)。

掌握这些命令后,可以灵活应对不同场景下的用户身份确认需求。