1. who命令简介
Linux who命令用于查询当前正在登录系统的用户,包括登录的身份(系统用户名)、终端号、登录时间、登录时长、IP地址等信息。所有用户都有权限使用。
2. who命令选项
-H 或 --heading:输出时显示各列的标题;
-i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
-m:此选项的效果和指定"am i"字符串相同;
-q 或--count:摘要信息,只显示登录的用户名和登录者数量;
-s:用于兼容性处理,一般不使用;
-w 或-T或--mesg或--message或--writable:输出结果时带用户的信息状态栏;
--help:显示帮助选项;
--version:查询版本信息。
3. 常见使用案例
3.1 显示当前登录系统的用户
[root@zcwyou rar]# who
root pts/0 2018-11-30 14:27 (192.168.1.100)
3.2 输出时带标题栏
[root@zcwyou rar]# who -H
NAME LINE TIME COMMENT
root pts/0 2018-11-30 14:27 (192.168.1.100)
3.3 查询用户正在占用的终端号
[root@zcwyou rar]# who -l -H
NAME LINE TIME IDLE PID COMMENT
LOGIN tty1 2018-11-27 14:10 623 id=tty1
3.4 查询用户的终端属性
[root@zcwyou rar]# who -T -H
NAME LINE TIME COMMENT
root + pts/0 2018-11-30 14:27 (192.168.1.100)
3.5 显示摘要信息
[root@zcwyou rar]# who -q
root
users=1
4. 也可以使用命令w
[root@zcwyou rar]# w
17:54:19 up 3 days, 3:44, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.100 14:27 0.00s 0.37s 0.37s -bash
可以看到w比who输出的信息更丰富。
上面第1行输出显示了当前的系统时间、系统从启动到现在已经运行的时间、登录到系统中的用户数
和系统平均负载。平均负载是指在1分钟、5分钟、15分钟内系统负载情况
User 表示登录系统用户
TTY 表示用户使用的TTY名称
FROM 表示用户从哪里登录进来,一般显示远程登录主机IP地址或者主机名。
Login用户登录的日期和时间
IDLE表示某个程序上次从终端开始执行到现在所持续的时间
JCPU表示该终端上的所有进程及子进程使用系统的总时间
PCPU当前活动进程使用的系统时间
what当前用户执行的进程名称和选项
5. 总结
如果要查看正在登录的用户,我们可以使用who,w,finger三个命令,其中w输出的信息比who要详细,finger要额外安装,CentOS最小化安装并没有集成该工具。