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命令用于显示目前登入系统的用户信息。

      执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。

扫描二维码关注公众号,回复: 8564007 查看本文章

      单独执行 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~

发布了248 篇原创文章 · 获赞 59 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_42402854/article/details/103935356
今日推荐