作为一名系统管理员,我们需要弄清楚在一个特定的时间点都有谁活跃在系统上。必须严密监视我们的服务器。但是,我们当然不可能一天24小时都盯着系统。在linux系统中,我们可以使用who命令查看登录者信息。
1. 什么是 who 命令
who命令能够打印 当前都有谁登录到系统中 的相关信息 。who命令只会显示真正登录到系统中的用户。它不会显示那些通过su命令切换用户的登录者。
2. 如何使用who命令
在大多数linux发行版中,who命令都是默认安装上的。想使用该命令,只需在控制台敲命令就行了。不带选项的话,运行该命令产生默认输出。
# who
![](http://120.79.93.25/wp-content/uploads/2019/07/image-13.png)
如何理解输出:
- 第一列显示用户名称
- 第二列显示用户连接方式。Tty意味着用户直接连接到电脑上,而pts意味着远程登录。
- 第三、四列分别显示日期和时间
- 第五列显示用户登录IP地址。
3. 使用带参数的who命令
Who命令有一些参数用于调整输出。以下是常用的例子。
3.1 显示上一次重新启动的时间和日期
使用 -b 选项
# who -b
![](http://120.79.93.25/wp-content/uploads/2019/07/image-14.png)
可以看到系统启动是在2018年08月214日,下午8:35。
3.2 显示初始化进程的当前运行级别
使用 -r 选项,who命令会打印出初始化进程的当前运行级别
root@iZwz99xibtof6c8lod50rhZ:~# who -r
![](http://120.79.93.25/wp-content/uploads/2019/07/image-15.png)
输出显示2018年8月14日,下午8:35系统以 级别2 开始运行。
3.3 为每一列添加标题
使用 -H 选项为每一列添加标题
root@iZwz99xibtof6c8lod50rhZ:~# who -H
![](http://120.79.93.25/wp-content/uploads/2019/07/image-17.png)
3.4 只打印当前运行终端的相关信息
可以使用-m选项。
root@iZwz99xibtof6c8lod50rhZ:~# who -m
![](http://120.79.93.25/wp-content/uploads/2019/07/image-16.png)
3.5 对当前登录用户数量计数
如果系统同时有多人登录在线,-q 选项协助你完成计数功能。
root@iZwz99xibtof6c8lod50rhZ:~# who -q
![](http://120.79.93.25/wp-content/uploads/2019/07/image-18.png)
3.6 附加空闲时间和PID信息
默认情况下,who命令不会打印空闲时间和PID信息。如果打算显示这些信息,使用-u选项。不要忘记使用 -H选项让显示的信息更加简单易读。
root@iZwz99xibtof6c8lod50rhZ:~# who -u -H
![](http://120.79.93.25/wp-content/uploads/2019/07/image-19.png)
![](https://img.linux.net.cn/data/attachment/album/201401/03/100242453qrg3lnqek848g.png)
空闲时间 包含了最近最后一次活动以来消逝的时间. 所以,00:13 意思是 用户leni已经13分钟没执行过命令了. (.)符号 是指该终端过去的一分钟有过活动。在那期间,我们称之为 “current” 。PID 是用户shell程序的进程ID号。
3.7 显示登录进程
使用-l选项
root@iZwz99xibtof6c8lod50rhZ:~# who -l
![](http://120.79.93.25/wp-content/uploads/2019/07/image-20.png)
![](https://img.linux.net.cn/data/attachment/album/201401/03/1002433nc43v747cqcqqq3.png)
第一列只显示系统登录守护进程的名字。上面截图中的数字 967, 971等是进程ID。
3.8 显示所有信息
使用-a选项会显示所有信息。例如:
root@iZwz99xibtof6c8lod50rhZ:~# who -a
![](http://120.79.93.25/wp-content/uploads/2019/07/image-21.png)
![](https://img.linux.net.cn/data/attachment/album/201401/03/100244hms29u7m3mxiubss.png)
3.9 总结:
你会发现 who 命令跟 w 命令在某些方面有些相像。不要为此感到疑惑,为什么linux要实现这些在功能上相近的命令。你可以使用你觉得最适合你的或者适用于某种场合的命令。请查阅who命令手册了解更多详细信息。