Linux 的 logname 命令详解
logname 是 Linux 系统中一个简单但实用的命令,用于显示当前登录用户的用户名。
基本功能
logname 命令会从 /var/run/utmp 文件中读取并显示当前终端会话的登录用户名。它通常返回用户首次登录系统时使用的用户名,即使在会话中切换了用户(如使用 su 命令)也不会改变。
使用示例
-
基本用法:
bash$ logname username -
与其他命令结合使用:
bash$ echo "当前登录用户是: $(logname)" 当前登录用户是: username
技术细节
logname命令会检查LOGNAME环境变量,如果存在则返回其值- 如果
LOGNAME环境变量不存在,则从系统记录中获取登录用户名 - 该命令是 GNU coreutils 包的一部分
与其他命令的区别
实际应用场景
-
在脚本中记录原始登录用户:
bash#!/bin/bash ORIGINAL_USER=$(logname) echo "脚本由 $ORIGINAL_USER 启动" -
系统审计时追踪原始登录会话
-
在多用户环境中识别真实用户身份