Linux last命令详解

Linux last命令详解

Linux last命令详解

在Linux系统中,我们经常需要追踪用户登录和登出的记录,以便对系统的安全性进行监控和管理。在这样的场景下,last命令是一个非常有用的工具。本文将详细介绍last命令的使用方法和相关参数,以帮助读者更好地了解和运用该命令。

1. last命令概述

last命令用于显示用户登录和登出的记录,它读取系统的登录记录文件/var/log/wtmp或者/var/log/btmp(失败登录记录)。

具体地说,last命令可以用来查看以下信息:

  • 用户登录系统的时间
  • 用户登录系统的IP地址
  • 用户登出系统的时间
  • 用户登录和登出的持续时间
  • 用户登录系统的终端设备

需要注意的是,last命令只能查询已经登录和登出的记录,无法实时监控用户的登录行为。

2. last命令语法

last命令的基本语法如下:

last [选项] [用户名]

其中,选项用于指定命令的一些参数,用户名用于过滤指定用户名的登录记录。如果不指定用户名,则显示所有用户的登录记录。

3. last命令常用选项

last命令支持多种选项,常用的选项如下:

  • -f <文件>:指定要读取的登录记录文件,默认为/var/log/wtmp
  • -n <行数>:仅显示指定行数的记录。
  • -t <日期>:仅显示指定日期之后的记录。
  • -s <日期>:仅显示指定日期之前的记录。
  • -w:显示用户登录和登出的持续时间。
  • -x:显示用户登录和登出的终端设备。
  • -i:显示用户登录使用的IP地址和主机名。
  • -r:显示系统的关机和重新启动记录。

下面,我们分别介绍这些选项的使用方法。

3.1 -f选项

-f选项用于指定要读取的登录记录文件,默认为/var/log/wtmp。如果需要查看失败登录的记录,可以使用/var/log/btmp文件。

示例:

last -f /var/log/btmp

3.2 -n选项

-n选项用于仅显示指定行数的记录,默认为显示所有记录。

示例:

last -n 10

3.3 -t选项

-t选项用于仅显示指定日期之后的记录,日期的格式可以是YYYYMMDD或者YYMMDD。

示例:

last -t 20220101

3.4 -s选项

-s选项用于仅显示指定日期之前的记录,日期的格式同样可以是YYYYMMDD或者YYMMDD。

示例:

last -s 20220101

3.5 -w选项

-w选项用于显示用户登录和登出的持续时间。

示例:

last -w

3.6 -x选项

-x选项用于显示用户登录和登出的终端设备。

示例:

last -x

3.7 -i选项

-i选项用于显示用户登录使用的IP地址和主机名。

示例:

last -i

3.8 -r选项

-r选项用于显示系统的关机和重新启动记录。

示例:

last -r

4. last命令实例

下面通过一些实例来演示last命令的使用方法和输出。

4.1 查看所有登录记录

last

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)
root   pts/0        192.168.1.10     Sat Feb 18 22:51 - 09:14 (10:22)
user   tty1                          Sat Feb 18 22:47 - 11:32 (12:45)
reboot   system boot  4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
...

以上结果显示了用户的登录和登出时间、IP地址、终端设备等信息。still logged in表示该用户仍然处于登录状态。

4.2 指定用户名查看登录记录

last user

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)
user   tty1                          Sat Feb 18 22:47 - 11:32 (12:45)
...

以上结果只显示用户名为user的登录记录。

4.3 仅显示指定行数的记录

last -n 3

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)

以上结果仅显示最近的3条登录记录。

4.4 仅显示指定日期之后的记录

last -t 20220210

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)

以上结果仅显示日期在2022年2月10日之后的登录记录。

4.5 显示用户登录和登出的持续时间

last -w

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)
user   tty1                          Sat Feb 18 22:47 - 11:32 (12:45)
reboot   system boot  4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
...

以上结果显示了用户登录和登出的持续时间。

4.6 显示用户登录和登出的终端设备

last -x

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)
user   tty1                          Sat Feb 18 22:47 - 11:32 (12:45)
...

以上结果显示了用户登录和登出的终端设备。

4.7 显示用户登录使用的IP地址和主机名

last -i

输出:

user   pts/0        192.168.1.10     Mon Feb 21 10:23   still logged in
user   pts/0        192.168.1.10     Mon Feb 20 16:05 - 18:12 (02:07)
user   pts/1        192.168.1.11     Sun Feb 19 08:45 - 12:22 (03:37)
...

以上结果显示了用户登录使用的IP地址和主机名。

4.8 显示系统的关机和重新启动记录

last -r

输出:

reboot   system boot  4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
reboot   system boot  4.10.0-28-generic Sat Feb 18 15:14 - 22:32  (07:17)
...

以上结果显示了系统的关机和重新启动记录。

5. 总结

本文详细介绍了Linux中的last命令的使用方法和常用选项。通过使用last命令,我们可以方便地查看用户的登录和登出记录,包括登录的时间、IP地址、终端设备、持续时间等信息。这对于系统的安全管理和用户活动追踪非常有用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程