Linux查看本机登陆用户信息(w、who、last和lastlog命令)
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)。
- 第二行是项目的说明,从第三行开始每行代表一个用户。这些项目具体如下:
- USER:登录的用户名。
- TTY:登录终端。
- FROM:从哪个 IP 地址登录。
- LOGIN@:登录时间。
- IDLE:用户闲置时间。
- JCPU:和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间。
- PCPU:当前进程所占用的 CPU 运算时间。
- 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 命令调用。