|NO.Z.00017|——————————|LinuxBasicEnd|——|Linux&常用命令.V11|——|系统痕迹|
一、系统痕迹命令
### --- 系统痕迹命令
~~~ 系 统 中 有 一 些 重 要 的 痕 迹 日 志 文 件 ,
~~~ 如 /var/log/wtmp 、 /var/run/utmp 、 /var/log/btmp 、
~~~ /var/log/lastlog 等日志文件,如果你用 vim 打开这些文件,
~~~ 你会发现这些文件是二进制乱码。
~~~ 这是由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,
~~~ 何时退出了系统,错误登录等重要的系统信息。
~~~ 这些信息要是可以通过 vim 打开,就能编辑,这样痕迹信息就不准确,
~~~ 所以这些重要的痕迹日志,只能通过对应的命令来进行查看。
二、w 命令
### --- w 命令
~~~ w 命令是显示系统中正在登陆的用户信息的命令,
~~~ 这个命令查看的痕迹日志是/var/run/utmp。这个命令的基本信息如下:
~~~ 命令名称:w
~~~ 英文原意:Show who is logged on and what they are doing.
~~~ 所在路径:/usr/bin/w
~~~ 执行权限:所有用户。
~~~ 功能描述:显示登录用户,和他正在做什么。
### --- 例如
~~~ 系统时间 持续开机时间 登陆用户
~~~ 系统在 1 分钟,5 分钟,15 分钟前的平均负载
[root@localhost ~]# w
### --- 不能超过CPU的核数,经验值;
### --- CPU/内存原则:7090原则:
~~~ CPU的占有率不可以超过70%,内存的占有率不能超过90%;
~~~ 若是超过就达到极限值,就有可能宕机的风险
[root@server11 ~]# w
~~~ 登录用户数
22:21:02 up 8:19, 4 users, load average: 0.00, 0.01, 0.05
~~~ 系统时间 系统到当前为止开机了多长时间 系统在1分钟前,5分钟前,15分钟前平均负载
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 22:04 17:02 0.02s 0.02s -bash
root pts/0 10.10.10.240 20:41 6.00s 1.38s 0.00s w // 谁是w,谁就是你自己
root pts/1 10.10.10.240 22:00 30.00s 0.20s 0.17s bash
root pts/2 10.10.10.240 22:18 2:38 0.06s 0.03s bash
第一行信息,内容如下:
说明 | |
12:26:46 | 系统当前时间 |
up 1 day,13:32 | 系统的运行时间,本机已经运行1天13小时32分钟 |
2users | 当前登录的两个用户 |
load average:0.00,0.00,0.00; | 系统在之前1分钟,5分钟,15分钟的平均负载,如果CPU是单核的,则这个数值超过1就是高负载,如果CPU是四核的,则这个数值超过4就是高负载(这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器CPU的核数) |
第二行信息,内容如下
说明 | |
USER | 当前登录的用户 |
TTY | 登录的终端: tty1-6:本地字符终端(alt+F1-6切换) tty7:本地图形终端(ctrl+alt+F7)切换,必须安装启动图形界面) pts/0-255:远程终端 |
FROM | 登录的IP地址,如果是本地终端,则是空 |
LOGIN@ | 登录时间 |
IDLE | 用户闲置时间 |
JCPU | 所有的进程占用的CPU时间 |
PCPU | 当前进程占用的CPU时间 |
WHAT | 用户正在进行的操作 |
### --- who命令
### --- who 命令和 w 命令类似,用于查看正在登陆的用户,但是显示的内容更加简单,
~~~ 也是查看/var/run/utmp 日志。
[root@localhost ~]# who
root tty1 2018-11-12 23:59
root pts/2 2018-11-12 23:42 (192.168.252.1)
~~~ 用户名 登陆终端 登陆时间(来源 IP)
[root@server11 ~]# who
root tty1 2021-03-04 22:04
root pts/0 2021-03-04 20:41 (10.10.10.240)
root pts/1 2021-03-04 22:00 (10.10.10.240)
root pts/2 2021-03-04 22:18 (10.10.10.240)
四、last 命令
### --- last 命令
### --- last 命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。
~~~ 这个命令查看的是/var/log/wtmp 痕迹日志文件。
~~~ 系统重启信息记录
~~~ 用户名 终端号 来源 IP 地址 登陆时间 - 退出时间
[root@localhost ~]# last
### --- 查询系统中登录过的用户信息,包括退出用户
[root@server11 ~]# last
reboot system boot 3.10.0-862.el7.x Fri Feb 5 01:20 - 01:24 (00:03)
root pts/0 :0 Fri Feb 5 01:14 - 01:20 (00:05)
root :0 :0 Fri Feb 5 01:14 - crash (00:06)
roo pts/0 :0 Fri Feb 5 01:13 - 01:13 (00:00)
roo :0 :0 Fri Feb 5 01:13 - 01:13 (00:00)
reboot system boot 3.10.0-862.el7.x Fri Feb 5 00:49 - 01:24 (00:34)
五、lastlog 命令
### --- lastlog 命令
### --- lastlog 命令是查看系统中所有用户最后一次的登陆时间的命令,
~~~ 他查看的日志是/var/log/lastlog文件。
[root@localhost ~]# lastlog
~~~ …省略部分内容…
~~~ 用户名 终端 来源 IP 登陆时间
### --- 查询所有的用户
[root@server11 ~]# lastlog
gdm :0 Fri Feb 5 01:22:44 +0800 2021
gnome-initial-setup :0 Fri Feb 5 01:12:05 +0800 2021
sshd **Never logged in** // 从来没有登录过
avahi **Never logged in**
postfix **Never logged in**
tcpdump **Never logged in**
roo :0 Fri Feb 5 01:13:31 +0800 2021
yanqi pts/2 Thu Mar 4 22:18:21 +0800 2021
六、lastb 命令
### --- lastb 命令
### --- lastb 命令是查看错误登陆的信息的,查看的是/var/log/btmp 痕迹日志:
[root@localhost ~]# lastb
(unknown tty1 Mon Nov 12 23:58 - 23:58 (00:00)
root tty1 Mon Nov 12 23:58 - 23:58 (00:00)
~~~ 错误登陆用户 终端 尝试登陆的时间
### --- lastb错误登录信息
[root@server11 ~]# lastb
root ssh:notty server11 Thu Mar 4 22:35 - 22:35 (00:00)
root ssh:notty server11 Thu Mar 4 22:34 - 22:34 (00:00)
root ssh:notty server11 Thu Mar 4 22:34 - 22:34 (00:00)
root pts/1 Thu Mar 4 22:34 - 22:34 (00:00)
btmp begins Thu Mar 4 22:34:22 2021
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv005-basic
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通