whoami、logname、who、w和id命令可查看Linux登录用户,其中whoami显示当前会话用户,logname反映原始登录用户,who列出所有在线用户,w还包含用户活动详情,id则展示用户UID、GID及所属组信息。

在Linux中,查看当前登录用户主要可以通过
whoami
logname
who
w
id
要获取当前登录用户的信息,我们有多种工具,每种都像一个不同的视角,提供了不同层面的细节。选择哪个取决于你想了解的深度和场景。
whoami
whoami # 输出示例: # your_username
logname
whoami
logname
/var/run/utmp
whoami
logname # 输出示例: # your_username
who
who # 输出示例: # your_username pts/0 2023-10-27 10:30 (192.168.1.100) # another_user pts/1 2023-10-27 09:45 (192.168.1.101)
w
who
w
w
w # 输出示例: # 10:45:01 up 1:15, 2 users, load average: 0.00, 0.01, 0.05 # USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT # your_username pts/0 192.168.1.100 10:30 0.00s 0.08s 0.00s w # another_user pts/1 192.168.1.101 09:45 15:30 0.25s 0.05s sshd: another_user [priv]
id
id
id
-un
id # 输出示例: # uid=1000(your_username) gid=1000(your_username) groups=1000(your_username),4(adm),27(sudo) id -un # 输出示例: # your_username

这其实是个很常见的疑惑点。简单来说,
whoami
logname
echo $USER
su
whoami
su
logname
而
who
w
who
w
root
whoami
w

当我们执行像
w
who
以
w
pts/0
tty1
tty6
:0
vim
python script.py
who
w

在编写Shell脚本或进行自动化部署时,可靠地获取当前执行脚本的用户身份至关重要。你肯定不希望一个本该由特定用户运行的任务,却被另一个用户误操作。
在这种场景下,我通常会倾向于使用以下几种方式:
whoami
CURRENT_USER=$(whoami) echo "当前执行脚本的用户是: $CURRENT_USER"
这种方式简单明了,但在某些特殊情况下,比如用户在登录后通过
sudo -u other_user
whoami
other_user
id -un
whoami
id -un
CURRENT_USER=$(id -un) echo "当前执行脚本的用户是: $CURRENT_USER"
环境变量$USER
USER
echo "当前执行脚本的用户是: $USER"
不过,需要注意的是,
$USER
whoami
id -un
$USER
选择哪种方式取决于你的具体需求和对健壮性的考量。对于大多数日常脚本,
$USER
whoami
id -un
以上就是Linux如何查看当前登录用户的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号