显示当前登录的用户,以及正在执行的操作
命令语法格式
w [options] user […]
命令描述
命令w显示有关计算机上当前用户及其进程的信息。标题行按当前时间、系统运行的时间、当前登录的用户数、过去1,5,15分钟的系统负载平均值的此顺序显示。
为每个用户显示以下条目:登录名,tty名称,远程主机,登录时间,空闲时间,JCPU,PCPU,当前进程的命令行。
「JCPU」是附加到tty的所有进程使用的时间。 它不包括过去的后台作业,但包括当前正在运行的后台作业。
「PCPU」是当前进程使用的时间,在“what”字段中命名。
命令支持的选项及含义
-h, –no-header
不打印头部。即不再输出第一行(即时间及平均负载)和第二行(即列名)。
-u, –no-current
在找出当前进程和cpu时间时忽略用户名。为了证明这一点,执行“su”,然后执行“w”和“w -u”。
-s, –short
简短输出,不打印登录时间、JCPU、PCPU时间。
-f, –from
显示FROM(远程主机)列。实际上FROM列是不显示ide,而有些发行版在编译的时候,默认是显示FROM列的。
-i, –ip-addr
在FROM列中显示IP地址。默认显示的是主机名。
-o, –old-style
使用以前的输出风格:如果IDLE时间小于一分钟,则显示空白。
-V, –version
显示版本信息并退出。
–help
显示帮助信息并退出。
user
显示指定用户的信息。
命令输出说明
# w 22:10:15 up 1:53, 2 users, load average: 0.00, 0.01, 0.03 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 :0 20:23 1:46m 0.05s 0.04s wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant root pts/1 :0 20:23 7.00s 0.07s 0.00s w
头部的内容依次为:当前时间,系统运行时间,当前用户数,在过去的1、5、15分钟内系统的平均负载。
接下来信息中:
- USER:当前登录的用户名。
- TTY:tty的名称。
- FROM:远程的Hostname。
- LOGIN@:登录时间。
- IDLE:idle时间。
- JCPU:绑定到TTY的所有进程所使用的CPU时间。不包含过去的后台任务,但是包含当前正在运行的后台任务。
- PCPU:正在运行的当前进程(在WHAT中显示的进程)所使用的时间。
- WHAT:当前占正在运行的命令。
这些信息与每个用户相关。
相关环境变量
PROCPS_USERLEN
设置username列的宽度。默认为8
PROCPS_FROMLEN
设置from列的宽度。默认为16
相关文件
/var/run/utmp
当前登录的用户的信息
/proc
进程信息
相关手册
free(1), ps(1), top(1), uptime(1), utmp(5), who(1)
参考文献
- man 1 w, Version 23.3.15-2
更新日志
- 05/24/2018 创建文章
- 09/27/2018 修改文章内容