last
命令是 Linux 系统中用于查看用户登录历史和系统重启信息的一个实用工具。它提供了丰富的输出格式选项,可以帮助管理员监控系统的活动情况以及发现潜在的安全问题。
当不带任何参数执行 last
命令时,默认会显示最近的用户登录信息。其基本形式如下:
$ last
dav@myserver pts/0 192.168.1.3 Wed Nov 27 14:56 - 15:04 (00:07)
root console 127.0.0.1 Mon Oct 28 10:23 - 10:23 (00:00)
输出中包含了几部分关键信息:
dav
或 root
。pts/0
终端或直接通过控制台 (console
) 登录。用户名是实际登录系统的用户。如果使用 sudo
命令进行操作,该字段可能显示的是执行命令的用户(而非真正访问控制台的用户)。
console
:直接通过物理控制台或虚拟控制台登录。tty1
至 tty6
及其他数字终端类型,表示在指定的TUI上进行交互式登录。pts/x
或 ttys/x
:伪终端(pseudo-terminal)连接,通常用于SSH会话或其他远程访问。当用户通过网络进行登录时(例如使用SSH),将显示其源IP地址。对于本地登录,默认不会显示该信息。
last
命令精确到分钟记录用户的登录和登出时间。格式为 Mon Oct 28 10:23 - 10:23 (00:00)
,其中:
只对单次的登录或登出事件可见,格式为 (00:07)
。对于多次会话,显示的是最后一次会话的持续时间。
last
命令提供了多种参数来调整输出内容:
-1
: 显示最近的一次登录记录。+1
: 显示从当前日期开始的第一天的登录记录。-f /var/log/wtmp
: 指定使用特定的日志文件,例如 /var/log/wtmp
。为了进一步分析或过滤输出结果,可以结合其他常用的 Linux 命令如 grep
, awk
, 或 sed
来实现。比如:
$ last | grep "root" | awk '{print $1, $5}'
通过上述方法,你可以更精准地聚焦于需要的信息,提高日常维护和故障排查的工作效率。
last
命令是 Linux 系统中一个强大且灵活的工具,能够帮助管理员了解系统的用户活动状况。通过对输出格式及其相关参数深入理解,并结合其他命令进行组合使用,可以更好地满足多样化的管理需求。