w 命令

查看 Linux 服务器上目前已经登录的用户信息

[root@localhost ~]# w
09:54:22 up 9:50, 2 users, load average:0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 09:53 57.00s 0.02s 0.02s -bash
root pts/0 192.168.0.108 09:53 0.00s 0.09s 0.06s w
  • 第一行和 top 命令的第一行非常类似,主要显示了系统当前时间、开机多久(up)、有多少用户登录(users),以及 1 分钟、5 分钟、15 分钟前的平均负载(load average)。

  • 第二行是项目的说明,从第三行开始每行代表一个用户。这些项目具体如下:

    1. USER:登录的用户名。

    2. TTY:登录终端。

    3. FROM:从哪个 IP 地址登录。

    4. LOGIN@:登录时间。

    5. IDLE:用户闲置时间。

    6. JCPU:和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间。

    7. PCPU:当前进程所占用的 CPU 运算时间。

    8. WHAT:当前正在运行的命令。

tty1表示是从本地终端 1 登录的 ,pts/0 表示是从远程终端 1 登录的,登录的来源 IP 是 192.168.0.108。

who命令

who 命令比 w 命令稍微简单,也可以用来查看系统中已经登录的用户。命令如下:

[root@localhost ~]# who

root tty1 2013-06-07 09:53

root pts/0 2013-06-07 09:53 (192.168.0.108)

#用户名 登录终端 登录时间(登录来源IP)

last命令

查询当前已经登录和过去登录的用户信息,显示用户名 登录终端 登录IP 登录时间 – 退出时间(在线时间),还能看到系统的重启时间。[root@localhost ~]# last

root     pts/1        192.168.1.105    Sat Dec 15 15:30   still logged in   

lizhouwe pts/0        :0               Fri Dec 14 21:11   still logged in   

reboot   system boot  3.10.0-327.el7.x Fri Dec 14 21:08 – 16:04  (18:55)  

last 命令默认是去读取 /var/log/wtmp 日志文件的,这是一个二进制文件,不能直接用 vi 编辑,只能通过 last 命令调用。

lastlog命令

查看系统中所有用户的最后一次登录时间、登录端口和来源IP

 

[root@localhost ~]# lastlog

Username         Port     From             Latest

root             pts/1    192.168.1.105    Sat Dec 15 15:30:59 +0800 2018

bin                                        **Never logged in**

daemon                                     **Never logged in**

ftp                                        **Never logged in**

sshd                                       **Never logged in**

lizhouwei        :0                        Fri Dec 14 21:10:40 +0800 2018

 lastlog 命令默认是去读取 /var/log/lastlog 日志文件的,这个文件同样是二进制文件,不能直接用 vi 编辑,需要使用 lastlog 命令调用。