首页 > 运维 > linux运维 > 正文

Linux查看当前登录用户命令who与w

P粉602998670
发布: 2025-09-12 08:07:01
原创
180人浏览过
who和w命令用于查看Linux系统当前登录用户,who显示简洁信息,w提供更详细的用户活动及进程信息。

linux查看当前登录用户命令who与w

查看当前登录用户,Linux提供了

who
登录后复制
w
登录后复制
两个命令,它们都能告诉你谁在使用你的系统,但侧重点略有不同。
who
登录后复制
更简洁,而
w
登录后复制
则更详细。

who
登录后复制
w
登录后复制
都能查看当前登录用户,但
w
登录后复制
提供更丰富的信息,包括用户正在运行的进程。

who
登录后复制
命令的基本使用:谁在使用我的电脑

who
登录后复制
命令是最直接的方式,它会列出当前登录系统的用户信息。

例如,在终端输入

who
登录后复制
,你可能会看到类似这样的输出:

user1    pts/0        2024-10-27 10:00 (192.168.1.100)
user2    pts/1        2024-10-27 10:15 (:0)
登录后复制

这表示

user1
登录后复制
user2
登录后复制
当前登录到系统。
pts/0
登录后复制
pts/1
登录后复制
表示他们使用的终端,
(192.168.1.100)
登录后复制
显示
user1
登录后复制
是从IP地址为
192.168.1.100
登录后复制
的机器远程登录的,而
(:0)
登录后复制
通常表示
user2
登录后复制
是从本地图形界面登录的。

who am i
登录后复制
whoami
登录后复制
命令则会显示你自己的用户名。

w
登录后复制
命令的详细信息:他们都在干什么?

w
登录后复制
命令比
who
登录后复制
更详细,它不仅显示登录用户,还显示他们当前正在运行的进程。

输入

w
登录后复制
,你可能会看到类似这样的输出:

当贝AI
当贝AI

免登录体验DeepSeek满血版

当贝AI553
查看详情 当贝AI
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.100  10:00    1:23m  0.05s  0.01s sshd: user1@pts/0
user2    pts/1    :0             10:15    0.00s  0.10s  0.05s bash
登录后复制

除了用户名、终端、登录时间和远程地址之外,

w
登录后复制
还显示了
IDLE
登录后复制
(用户空闲时间)、
JCPU
登录后复制
(所有进程占用的CPU时间)和
PCPU
登录后复制
(当前进程占用的CPU时间),以及
WHAT
登录后复制
(用户正在运行的命令)。例如,
user1
登录后复制
正在运行
sshd
登录后复制
进程,而
user2
登录后复制
正在运行
bash
登录后复制

如何区分本地登录和远程登录?

who
登录后复制
w
登录后复制
命令的输出中,
FROM
登录后复制
列可以帮助你区分本地登录和远程登录。如果
FROM
登录后复制
列显示的是IP地址,那么用户就是通过网络远程登录的。如果显示的是
:0
登录后复制
或类似的符号,通常表示用户是从本地图形界面登录的。有时候,本地登录可能显示为空。

为什么
IDLE
登录后复制
时间很重要?

IDLE
登录后复制
时间表示用户在终端上没有活动的时间。长时间的
IDLE
登录后复制
时间可能意味着用户已经离开,但仍然保持登录状态。这在安全方面可能是一个隐患,因为其他人可能会利用这个会话进行未授权的操作。因此,定期检查
IDLE
登录后复制
时间可以帮助你发现潜在的安全风险。

如何使用
who
登录后复制
w
登录后复制
命令进行安全审计?

结合

who
登录后复制
w
登录后复制
命令,你可以进行简单的安全审计。例如,你可以定期运行这两个命令,检查是否有未知的用户登录到系统。你还可以检查用户的
IDLE
登录后复制
时间,找出长时间不活动的会话。如果发现异常情况,你可以采取相应的措施,例如强制注销用户或调查可疑活动。

另外,可以结合日志分析工具,例如

last
登录后复制
命令,查看用户的登录历史,进一步了解用户的活动情况。

who
登录后复制
w
登录后复制
命令在脚本中的应用

这两个命令也可以在脚本中使用,以便自动化一些管理任务。例如,你可以编写一个脚本,定期检查登录用户,并将结果发送到管理员邮箱。你还可以编写一个脚本,自动注销长时间不活动的会话。

#!/bin/bash

# 检查IDLE时间超过30分钟的用户,并强制注销
IDLE_TIME=30

w | awk 'NR>1 {print $1, $4, $5}' | while read user tty idle; do
  idle_minutes=$(echo $idle | sed 's/m//')
  if [ -n "$idle_minutes" ] && [ "$idle_minutes" -gt "$IDLE_TIME" ]; then
    pkill -KILL -u "$user" -t "$tty"
    echo "User $user on $tty has been logged out due to inactivity."
  fi
done
登录后复制

这个脚本会检查所有登录用户的

IDLE
登录后复制
时间,如果超过30分钟,就强制注销该用户。当然,在实际使用中,你需要根据你的具体需求进行修改。

以上就是Linux查看当前登录用户命令who与w的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号