本篇内容介绍了“Linux查看系统日志的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Linux 系统中有很多重要的日志文件,这些文件可以保存很多访问 Linux的日志记录,这些日志大多存放在/var/log目录下和/run目录下,但是这些日志中,有些并不能使用cat,vi,more等命令打开,而是需要用到一些特殊的命令,这里简单做介绍。
Linux 日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
一、w命令
w命令用于显示目前登入系统的用户信息。
执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
语法:w [-fhlsuV] [用户名称]
参数说明:
-f 开启或关闭显示用户从何处登入系统。
-h 不显示各栏位的标题信息列。
-l 使用详细格式列表,此为预设值。
-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。
-V 显示版本信息。
实例:
1、1、显示目前登入系统的所有用户信息,不加任何参数
第一行信息输出内容和使用uptime命令输出一样,它包含的列信息说明如下:
12:30:08- 当前系统时间.
up 2:14 - 系统运行时长.
3 users - 登录用户数.
load average: 0.00, 0.01, 0.05 - 系统过去1,5,15分钟的平均负载信息。平均系统负载是对当前正在运行或正在等待磁盘I/O的作业数的度量。 它基本上告诉您系统在给定间隔内的繁忙程度。
第二行信息包括如下字段说明:
USER – 登录用户名.
TTY – 登录用户使用的终端名.
FROM –登录用户来源的主机名或IP地址.
LOGIN@ – 用户登录时长.
IDLE – 自用户上一次与终端进行交互以来的空闲时间.
JCPU – 附加到tty的所有进程使用的时间.
PCPU –用户当前进程所用的时间。 显示在“ WHAT”字段中的那个.
WHAT – 用户当前的进程及选项/参数。
2、显示某个用户,目前登入系统的信息,则输出将限于给定的用户
二、who命令
who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
使用权限:所有使用者都可使用。
语法:who - [husfV] [user]
参数说明:
-H 或 --heading:显示各栏位的标题信息列;
-i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
-m:此参数的效果和指定"am i"字符串相同;
-q 或--count:只显示登入系统的帐号名称和总人数;
-s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
-w 或-T或--mesg或--message或--writable:显示用户的信息状态栏;
实例:
1、显示当前登录系统的用户
[root@centos7 ~]# who
root tty1 2020-01-11 10:15
root pts/0 2020-01-11 10:16 (192.168.198.1)
lisi pts/1 2020-01-11 12:30 (192.168.198.1)
2、只显示当前用户
[root@centos7 ~]# who -m -H
名称 线路 时间 备注
root pts/0 2020-01-11 10:16 (192.168.198.1)
[root@centos7 ~]# whoami
root
输入whoami 显示自己的登录的用户名。
三、last命令
last命令用于显示近期用户或终端的登录情况。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统。
执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来。默认显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录。
语法:last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username..] [tty..]
-num |-n num 指定输出记录的条数
-f file 指定记录文件作为查询的log文件
-t YYYYMMDDHHMMSS 显示指定时间之前的登录情况
username 账户名称
tty 终端机编号
选项:
-R 不显示登录系统或终端的主机名称或IP
-a 将登录系统或终端的主机名过IP地址显示在最后一行
-d 将IP地址转成主机名称
-I 显示特定IP登录情况。
-o 读取有linux-libc5应用编写的旧类型wtmp文件
-x 显示系统关闭、用户登录和退出的历史
-F 显示登录的完整时间
-w 在输出中显示完整的用户名或域名
实例:
第一列:用户名
第二列:终端位置(pts/0伪终端,意味着从SSH或telnet等工具远程连接的用户,图形界面终端归于此类。tty0直接连接到计算机或本地连接的用户。后面的数字代表连接编号)
第三列:登录IP或内核(如果是:0.0或者什么都没有,意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中)
第四列:开始时间
第五列:结束时间(still login in尚未退出,down直到正常关机,crash直到强制关机)
第六列:持续时间
1、指定显示记录的数量(显示记录中最后登录的数量)
[root@centos7 ~]# last -n 10
lisi pts/1 192.168.198.1 Sat Jan 11 12:30 still logged in
root pts/0 192.168.198.1 Sat Jan 11 10:16 still logged in
root tty1 Sat Jan 11 10:15 still logged in
reboot system boot 3.10.0-957.el7.x Sat Jan 11 10:15 - 12:53 (02:37)
root pts/1 192.168.198.1 Fri Jan 10 22:08 - 23:24 (01:15)
root pts/0 192.168.198.1 Fri Jan 10 14:07 - crash (20:07)
root tty1 Fri Jan 10 14:07 - 23:24 (09:17)
reboot system boot 3.10.0-957.el7.x Fri Jan 10 14:07 - 12:53 (22:46)
root pts/0 192.168.198.1 Tue Jan 7 20:33 - down (02:38)
root pts/1 192.168.198.1 Tue Jan 7 18:44 - 20:56 (02:11)
wtmp begins Sun Dec 1 20:35:35 2019
2、指定查询的文件,原本默认的是wtmp
[root@centos7 ~]# last -10 -f /var/log/btmp
root tty1 Sat Jan 4 10:06 gone - no logout
root tty1 Fri Jan 3 15:35 - 10:06 (18:30)
root tty1 Fri Jan 3 15:18 - 15:35 (00:17)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root ssh:notty 192.168.198.1 Fri Jan 3 15:18 gone - no logout
btmp begins Fri Jan 3 15:18:01 2020
3、显示指定时间之前的记录
[root@centos7 ~]# last -5 -t 20200111000000
root pts/1 192.168.198.1 Fri Jan 10 22:08 - 23:24 (01:15)
root pts/0 192.168.198.1 Fri Jan 10 14:07 gone - no logout
root tty1 Fri Jan 10 14:07 - 23:24 (09:17)
reboot system boot 3.10.0-957.el7.x Fri Jan 10 14:07 - 12:56 (22:49)
root pts/0 192.168.198.1 Tue Jan 7 20:33 - down (02:38)
wtmp begins Sun Dec 1 20:35:35 2019
四、lastlog 命令
lastlog命令用于显示系统中所有用户最近一次登录信息。
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。
注意:需要以root身份运行该命令。
语法:lastlog(选项)
常用参数:
-b <天数>显示指定天数前的登录信息
-t <天数>显示指定天数以来的登录信息
-u <用户名>显示指定用户的最近登录信息
-h显示召集令的帮助信息
实例:
1、显示系统中所有用户最近一次登录信息
[root@centos7 ~]# lastlog
用户名 端口 来自 最后登陆时间
root pts/0 192.168.198.1 六 1月 11 10:16:19 +0800 2020
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
sync **从未登录过**
shutdown **从未登录过**
halt **从未登录过**
mail **从未登录过**
operator **从未登录过**
games **从未登录过**
ftp **从未登录过**
nobody **从未登录过**
systemd-network **从未登录过**
dbus **从未登录过**
polkitd **从未登录过**
abrt **从未登录过**
sshd **从未登录过**
postfix **从未登录过**
chrony **从未登录过**
apache **从未登录过**
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
2、显示指定天数以来的登录信息
[root@centos7 ~]# lastlog -t 3
用户名 端口 来自 最后登陆时间
root pts/0 192.168.198.1 六 1月 11 10:16:19 +0800 2020
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
3、显示指定用户的最近登录信息
[root@centos7 ~]# lastlog -u lisi
用户名 端口 来自 最后登陆时间
lisi pts/1 192.168.198.1 六 1月 11 12:30:01 +0800 2020
五、lastb 命令
lastb命令用于列出登入系统失败的用户相关信息。
单独执行lastb指令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。
语法:lastb [-adRx][-f <记录文件>][-n <显示列数>][帐号名称...][终端机编号...]
参数说明:
-a 把从何处登入系统的主机名称或IP地址显示在最后一行。
-d 将IP地址转换成主机名称。
-f<记录文件> 指定记录文件。
-n<显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息。
实例:
1、显示登录失败的用户
[root@centos7 ~]# lastb
root tty1 Sat Jan 4 10:06 - 10:06 (00:00)
root tty1 Fri Jan 3 15:35 - 15:35 (00:00)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root tty1 Fri Jan 3 15:18 - 15:18 (00:00)
root ssh:notty 192.168.198.1 Fri Jan 3 15:18 - 15:18 (00:00)
btmp begins Fri Jan 3 15:18:01 2020
站在前辈的肩膀上,每天进步一点点
ends~
“Linux查看系统日志的命令”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!