热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux查看系统日志的命令

本篇内容介绍了“Linux查看系统日志的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如

本篇内容介绍了“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查看系统日志的命令”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


推荐阅读
author-avatar
手机用户2502936971
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有