Linux查看本机登陆用户信息(w、who、last和lastlog命令)

时间:2021-03-12 16:10:30

w 命令

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

[root@localhost ~]# w
:: up :, users, load average:0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - : .00s .02s .02s -bash
root pts/ 192.168.0.108 : .00s .09s .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 -- :
root pts/ -- : (192.168.0.108)
#用户名 登录终端 登录时间(登录来源IP)

last命令

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

[root@localhost ~]# last
root pts/ 192.168.1.105 Sat Dec : still logged in
lizhouwe pts/ : Fri Dec : still logged in
reboot system boot 3.10.-.el7.x Fri Dec : - : (:)

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

lastlog命令

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

[root@localhost ~]# lastlog
Username Port From Latest
root pts/ 192.168.1.105 Sat Dec :: +
bin **Never logged in**
daemon **Never logged in**
ftp **Never logged in**
sshd **Never logged in**
lizhouwei : Fri Dec :: +

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