深入理解 Linux 中的 last 和 lastb 命令

devtools/2025/2/27 18:13:19/

在 Linux 系统中,last 和 lastb 命令是两个非常有用的工具,用于追踪用户登录和登出的历史记录。这两个命令可以帮助系统管理员了解用户的活动情况,以及系统的重启和关机事件。本文将详细介绍这两个命令的使用方法和选项。

last 命令

用法:
 last [选项] [<用户名>...] [<tty>...]

显示上次登录用户的列表。

选项:
 -<数字>              显示行数
 -a, --hostlast       最后一列显示主机名
 -d, --dns            将 IP 号转换回主机名
 -F, --file <文件>    用指定文件代替 /var/log/wtmp
 -F, --fulltimes      打印完整的登录和注销时间和日期
 -i, --ip             以数字和点的形式显示 IP 号
 -n, --limit <数字>   要显示的行数
 -R, --nohostname     不显示主机名字段
 -s, --since <时间>   显示从指定时间起的行
 -t, --until <时间>   显示到指定时间为止的行
 -p, --present <时间> 显示在指定时间谁在场(present)
 -w, --fullnames      显示完整的用户名和域名
 -x, --system         显示系统关机项和运行级别更改
     --time-format <格式>    以指定<格式>显示时间戳:
                               notime|short|full|iso

 -h, --help           display this help
 -V, --version        display version

last 命令通过搜索 /var/log/wtmp 文件(或由 -f 标志指定的文件)来显示自文件创建以来所有用户的登录和登出记录。可以给出一个或多个用户名、/、tty,在这种情况下,last将只显示与这些参数匹配的条目。tty的名称可以缩写,“last 0”与“last tty0”相同。

当 last 命令捕获到 SIGINT(通常由 Ctrl+C 生成)或 SIGQUIT(通常由 Ctrl+\ 生成)信号时,它会显示已经搜索到的位置;对于 SIGINT 信号,last 然后终止。

伪用户 "reboot" 每次系统重启时都会登录。因此,last reboot 显示了自日志文件创建以来的所有重启日志。

lastb 命令

用法:
 lastb [选项] [<用户名>...] [<tty>...]

显示上次登录用户的列表。

选项:
 -<数字>              显示行数
 -a, --hostlast       最后一列显示主机名
 -d, --dns            将 IP 号转换回主机名
 -F, --file <文件>    用指定文件代替 /var/log/btmp
 -F, --fulltimes      打印完整的登录和注销时间和日期
 -i, --ip             以数字和点的形式显示 IP 号
 -n, --limit <数字>   要显示的行数
 -R, --nohostname     不显示主机名字段
 -s, --since <时间>   显示从指定时间起的行
 -t, --until <时间>   显示到指定时间为止的行
 -p, --present <时间> 显示在指定时间谁在场(present)
 -w, --fullnames      显示完整的用户名和域名
 -x, --system         显示系统关机项和运行级别更改
     --time-format <格式>    以指定<格式>显示时间戳:
                               notime|short|full|iso

 -h, --help           display this help
 -V, --version        display version

lastb 命令的功能与 last 类似,但默认情况下,lastb 列出 /var/log/btmp 文件的内容,该文件包含系统上所有失败的登录尝试。

last lastb 命令选项解释

选项描述示例
-n num 或 -n num显示最近的 num 行登录记录。last -n 1 或 last -1
-f, --file file使用指定的文件代替默认的 /var/log/wtmp 文件。last -f /path/to/file
-F, --fulltimes打印完整的登录和登出时间及日期。last -F
-p, --present <time>显示在指定时间点登录的用户,等同于同时使用 --since 和 --untillast -p now
-s, --since <time>显示自指定时间以来的登录记录。last -s YYYY-MM-DD
-t, --until <time>显示直到指定时间的登录记录。last -t YYYY-MM-DD
--time-format format定义输出时间戳的格式(notimeshortfull 或 iso)。last --time-format full

<format>时间格式说明:

时间格式描述示例
notime不打印任何时间戳。-
short默认格式,简短的时间戳。Wed Jan 16 12:34
full完整的时间戳,与 --fulltimes 选项相同。Wed Jan 16 12:34:56 +0000
isoISO-8601 格式的时间戳,包含时区信息。2024-01-16T12:34:56+00:00

<time>时间参数格式:

时间参数格式描述示例
YYYYMMDDhhmmss完整的日期和时间,精确到秒。20240116123456
YYYY-MM-DD hh:mm:ss完整的日期和时间,使用破折号分隔,精确到秒。2024-01-16 12:34:56
YYYY-MM-DD hh:mm完整的日期和时间,精确到分钟,秒默认为 002024-01-16 12:34
YYYY-MM-DD完整的日期,时间默认为 00:00:002024-01-16
hh:mm:ss时间,日期默认为当天。12:34:56
hh:mm时间,日期默认为当天,秒默认为 0012:34
now当前时间。-
yesterday昨天的日期,时间默认为 00:00:00-
today今天的日期,时间默认为 00:00:00-
tomorrow明天的日期,时间默认为 00:00:00-
+5min从当前时间起的5分钟后。-
-5days从当前时间起的5天前。-

这些选项和参数使得 last 命令非常灵活,可以根据需要显示不同时间段内的登录记录,以及以不同的格式显示时间戳。

使用举例

# 从两天前到一天前的记录

last -R -s -2days -t -1days

# 查看机器启动时间

last --time-format iso reboot|head -n 1
reboot   system boot  4.19.91-26.an8.x 2025-02-05T10:00:07+08:00   still running

top -n 1|head -n 1
top - 10:09:27 up 21 days, 9 min,  1 user,  load average: 0.01, 0.00, 0.00


http://www.ppmy.cn/devtools/163128.html

相关文章

web安全——分析应用程序

文章目录 一、确定用户输入入口点二、确定服务端技术三、解析受攻击面 一、确定用户输入入口点 在检查枚举应用程序功能时生成的HTTP请求的过程中&#xff0c;用户输入入口点包括&#xff1a; URL文件路径 通常&#xff0c;在查询字符?之前的URL部分并不视为用户输入入口&am…

AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)

一、事前准备 1、一台配置不错的电脑&#xff0c;英伟达显卡&#xff0c;20系列起步&#xff0c;建议显存6G起步&#xff0c;安装win10或以上版本&#xff0c;我的显卡是40系列&#xff0c;16G显存&#xff0c;所以跑大部分的模型都比较快&#xff1b; 2、科学上网&#xff0…

WSL,Power shell 和CMD, Git bash的区别

在 Windows 系统中&#xff0c;WSL、PowerShell、CMD、Git Bash 和 Git Bash&#xff08;管理员&#xff09; 是不同的命令行工具和环境&#xff0c;它们各自有不同的用途和特点。以下是它们的详细关系和区别&#xff1a; 1. WSL&#xff08;Windows Subsystem for Linux&…

FPGA开发时序图绘制

开始的时候画时序图都是拿 visio 硬连&#xff0c;但是那个线宽太难统一了&#xff0c;丑不拉几的&#xff0c;遂学习 waveform 语法使用代码来画时序图。 开始 Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器&#xff…

监督学习——基于线性回归的波士顿房价预测:理论、实践与评估

基于线性回归的波士顿房价预测:理论、实践与评估 文章目录 基于线性回归的波士顿房价预测:理论、实践与评估一、引言二、线性回归基础理论2.1 线性回归原理2.2 线性回归在房价预测中的应用逻辑三、波士顿房价数据集介绍3.1 数据集概述3.2 特征说明3.3 目标变量四、波士顿房价…

BUUCTF--[极客大挑战 2019]RCE ME

目录 URL编码取反绕过 异或绕过 异或的代码 flag 借助蚁剑中的插件进行绕过 利用动态链接库 编写恶意c语言代码 进行编译 然后再写一个php文件 将这两个文件上传到/var/tmp下 运行payload 直接看代码 <?php error_reporting(0); if(isset($_GET[code])){$code$_G…

记一次线上Tomcat服务内存溢出的问题处理

背景&#xff1a;JavaWeb项目部署在Tomcat服务器上&#xff0c;服务器用的Windows。 问题表现&#xff1a;系统出现偶发性无法访问&#xff08;隔几天就会在早上无法访问&#xff09; Tomcat的日志catalina中&#xff0c;有如下报错信息。 java.lang.OutOfMemoryError: GC ov…

基于 C++ Qt 的 Fluent Design 组件库 QFluentWidgets

简介 QFluentWidgets 是一个基于 Qt 的 Fluent Designer 组件库&#xff0c;内置超过 150 个开箱即用的 Fluent Designer 组件&#xff0c;支持亮暗主题无缝切换和自定义主题色。 编译示例 以 Qt5 为例&#xff08;Qt6 也支持&#xff09;&#xff0c;将 libQFluentWidgets.d…