「w(1)」-

  LINUX MANUAL PAGES

显示当前登录的用户,以及正在执行的操作

命令语法格式

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 修改文章内容