概述
logname 命令将用户启动登录会话时使用的名称输出到标准输出。这与 whoami 有着微妙但重要的区别。whoami 输出当前执行命令的“有效用户”的名称,而 logname 输出会话的“实际登录用户”的名称。因此,即使在使用 sudo 或 su 命令获取其他用户权限后,logname 仍会显示原始登录用户的名称。
主要特点
logname 命令的主要特点如下:
- 输出启动登录会话的用户名。
- 基于 $LOGNAME 环境变量的值运行。
- 用于确认实际登录用户。
- 一个几乎没有选项的简单命令。
logname 与 whoami 的区别
这两个命令都输出用户名,但在权限更改的情况下会显示不同的结果。
- logname: 输出实际登录用户名(real user)。在使用 su 或 sudo 后不会改变。
- whoami: 输出当前执行命令的有效用户名(effective user)。在使用 su 或 sudo 后,会输出更改后的用户名,例如 root。
主要选项
logname 命令非常简单,主要只使用 --help 或 --version 等基本帮助选项。
1) 帮助
生成的命令:
请尝试组合命令。
描述:
`logname` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
通过 logname 命令的各种使用示例来熟悉其功能。
确认当前用户名
logname
输出当前登录的用户名。
su 命令后比较用户名
logname
su
whoami
logname
在使用 su 命令切换到 root 用户后,比较 whoami 和 logname 的输出结果。whoami 会输出 root,但 logname 会输出原始登录用户名。
安装
logname 是 coreutils 软件包的一部分,默认包含在大多数 Linux 发行版中。无需单独安装。
提示与注意事项
整理了使用 logname 命令时需要注意的事项。
提示
- 在脚本中,建议使用 whoami 来检查当前执行命令的用户的权限,而使用 logname 来记录连接到系统的实际用户。
- logname 可以用于跟踪实际登录用户,类似于 w 命令的输出结果。