您的位置:

利用w命令查看Linux系统登录用户信息

一、w命令简介

w命令是一个常用的Linux命令,用于查看当前登录系统的用户信息。它可以展示用户的登录名、终端、登录时间、CPU占用情况等信息。w命令不需要root权限即可执行,通常用于监控系统资源使用情况。

二、w命令语法

w命令的语法如下:

w [选项] [用户名]

选项:

  • -h:显示帮助信息
  • -s:不显示登录时间、JCPU、PCPU等信息
  • -u:显示用户登录时间、会话时间、CPU占用等信息
  • -f:显示从上次系统启动以来的会话信息
  • -V:显示版本信息

用户名:如果指定了用户名,则仅显示该用户的信息,否则显示所有用户的信息。

三、查看当前登录用户信息

执行w命令,可以查看当前登录系统的用户信息。

$ w

输出结果如下:

 21:46:59 up  6:01,  1 user,  load average: 0.06, 0.03, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                15:00    6:00m  0.05s  0.05s -bash

输出结果中,第一行展示了系统当前时间、运行时间和平均负载。第二行到最后一行展示了登录的用户信息,包含用户名、终端、IP地址、登录时间、空闲时间、JCPU(该进程在用户态运行的时间)和PCPU(该进程在内核态运行的时间)等信息。

四、查看指定用户的登录信息

使用w命令,可以查看指定用户的登录信息。

$ w user

输出结果如下:

 21:46:59 up  6:01,  1 user,  load average: 0.06, 0.03, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                15:00    6:00m  0.05s  0.05s -bash

输出结果只包含了指定用户的登录信息。

五、显示用户进程信息

w命令也可以显示用户的进程信息。

$ w -u

输出结果如下:

 21:46:59 up  6:01,  1 user,  load average: 0.06, 0.03, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                15:00    6:00m  0.05s  0.05s -bash
user     pts/0    192.168.1.23     17:20    0.00s  0.08s  0.02s w -u

输出结果中,最后一行展示了当前执行的w命令的进程信息。

六、只显示用户名

如果只需要显示用户名,可以使用awk和sed进行筛选。

$ w | awk 'NR==1 {print $4}; NR>2 {print $1}' | sed 's/[()]//g'

输出结果如下:

USER
user

输出结果中,第一行为标题,第二行为所有登录用户的用户名。

七、只显示当前登录用户的进程信息

如果只需要显示当前登录用户的进程信息,可以使用ps命令和grep命令。

$ ps -u $(whoami) | grep -v PID

输出结果如下:

 1792 tty1     00:00:00 bash
 6803 pts/0    00:00:00 bash
 6885 pts/0    00:00:00 ps

输出结果中,展示了当前登录用户的进程信息,包含进程ID、终端、命令等信息。

八、结论

通过w命令,我们可以方便地了解当前系统的用户登录情况,包含用户的登录信息、进程信息等。除了w命令,还可以使用ps命令、awk命令、sed命令等进行更详细的筛选和处理。