users,w,who和whoami命令

-- TOC --

users,w,who,whoami这几个命令,都可以用来显示当前系统的登录用户信息。这几个命令的使用,既简单又直接。

$ w
 14:51:12 up 85 days,  4:30,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
xinlin   pts/0     Tue10    4days  0.06s  0.06s -bash
xinlin   pts/1     13:42    0.00s  0.09s  0.00s w
$ who
xinlin   pts/0        2022-08-02 10:52 (117.89.208.150)
xinlin   pts/1        2022-08-06 13:42 (117.89.129.68)
$ whoami
xinlin
$ who am i
xinlin   pts/1        2022-08-06 13:42 (117.89.129.68)
$ users
xinlin xinlin

w命令最简单,就一个字母,这还是我唯一知道的单字母命令。

w命令显示出来的第1行,与uptime命令一样:

$ uptime
 14:52:58 up 85 days,  4:32,  2 users,  load average: 0.03, 0.01, 0.00

-i参数可以让w命令显示from ip:

$ w -i
 15:10:25 up 85 days,  4:49,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
xinlin   pts/0    117.89.208.150   Tue10    4days  0.06s  0.06s -bash
xinlin   pts/1    117.89.129.68    13:42    1.00s  0.11s  0.00s w -i

还可以跟上具体的用户名,即只显示这个用户的登录信息:

$ w root

who命令按行显示当前登录用户,输出的信息比w精简,相同用户的多个登录都会显示出来。

更多who命令测试:

$ who -H
NAME     LINE         TIME             COMMENT
xinlin   pts/0        2022-08-02 10:52 (117.89.208.150)
xinlin   pts/1        2022-08-06 13:42 (117.89.129.68)
$ who -Hu
NAME     LINE         TIME             IDLE          PID COMMENT
xinlin   pts/0        2022-08-02 10:52  old       371441 (117.89.208.150)
xinlin   pts/1        2022-08-06 13:42   .        392016 (117.89.129.68)

使用-Hu显示出来的PID有点用处,可以通过kill这个pid来实现踢用户!

使用-b参数,能够显示出系统的boot时间

$ who -b
         system boot  2022-07-11 14:20

who am i命令,只显示当前terminal的登录用户。

whoami比who am i更精简,只显示当前terminal的用户名。

users命令只显示用户名,重复的用户名表示多个登录。

本文链接:https://cs.pynote.net/sf/linux/shell/202208063/

-- EOF --

-- MORE --