一、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命令等进行更详细的筛选和处理。