2020年5月25日星期一

Linux命令(16)w命令

Linux命令(16)w命令


w命令

  • 功能说明:显示已经登录到系统的用户以及他们正在运行的命令

  • 用法:w [options] user [...]

    w命令显示上当前系统上登录的用户及其进程的相关信息。

    选项作用
    -h不显示前两行信息
    -f不显示用户从何处登录系统
    -s使用简洁格式,不显示用户的登录时间和程序运行所消耗的时间

示例1:显示当前已经登录到系统的用户的相关信息

[root@node1 ~]# w 12:58:13 up 2:18, 2 users, load average: 0.00, 0.01, 0.05USER  TTY  FROM    LOGIN@ IDLE JCPU PCPU WHATroot  pts/0 192.168.3.98  10:39 5.00s 0.49s 0.00s wsteven pts/1 192.168.3.98  12:58 2.00s 0.01s 0.01s -bash

第一行信息

  • 12:58:13:指当前系统的时间

  • up 2:18:指系统启动到现在已经运行的时间

  • 2 user:显示当前有2个用户登录到系统上

  • load average: 0.00, 0.01, 0.05:指系统的在1分钟内,5分钟内和15分钟内系统的平均负载。

    我们应该关注的是系统在1分钟内的平均负载,它指的是CPU在1分钟内的活动进程数,它的值越大说明服务器压力越大,只要这个值不要超过CPU的数量就没有关系。通常我们使用如下命令查看CPU的核数

    ~]# grep -c 'processor' /proc/cpuinfo 4

第二行信息

  • USER:表示登录系统的用户
  • TTY:表示用户从哪个终端登录
  • FROM:表示用户从哪登录,通常显示为IP或主机名
  • LOGIN@:表示用户登录的时间
  • IDLE:表示终端的空闲时间,用户从上次从键盘输入内容到此刻的时间
  • JCPU:表示连接到此终端上所有进程及其子进程使用的时间
  • PCPU:表示当前进程使用的时间
  • WHAT:当前用户所运行的进程命令

示例2:显示steven用户的相关信息

[root@node1 ~]# w steven 14:09:41 up 3:30, 2 users, load average: 0.00, 0.01, 0.05USER  TTY  FROM    LOGIN@ IDLE JCPU PCPU WHATsteven pts/1 192.168.3.98  12:58 1:11m 0.01s 0.01s -bash

示例3:显示信息时不显示前两行信息

[root@node1 ~]# w -hroot  pts/0 192.168.3.98  10:39 0.00s 0.53s 0.00s w -hsteven pts/1 192.168.3.98  12:58 1:18m 0.01s 0.01s -bash

示例4:显示信息时不显示用户从何处登录,少了LOGIN@这一列

[root@node1 ~]# w -f 14:19:58 up 3:40, 2 users, load average: 0.00, 0.01, 0.05USER  TTY  LOGIN@ IDLE JCPU PCPU WHATroot  pts/0  10:39 6.00s 0.57s 0.04s w -fsteven pts/1  12:58 1:21m 0.01s 0.01s -bash

示例5:显示信息时使用简洁格式,少了LOGIN@,JCPU和PCPU

[root@node1 ~]# w -s 14:21:06 up 3:41, 2 users, load average: 0.00, 0.01, 0.05USER  TTY  FROM    IDLE WHATroot  pts/0 192.168.3.98  2.00s w -ssteven pts/1 192.168.3.98  1:22m -bash