Linux系统之last命令的基本使用

简介: Linux系统之last命令的基本使用

在这里插入图片描述

一、last命令介绍

last 命令在 Linux 系统中用于显示最近登录系统的用户列表。它读取 /var/log/wtmp 文件来获取登录信息,并且可以显示用户的登录名、终端、登录IP地址(如果通过网络登录)、登录时间以及登出时间等信息。

二、last命令的使用帮助

2.1 last命令help帮助信息

在命令行终端中,我们使用--help查询last命令的基本帮助信息。

[root@openEuler-test ~]# last --help

Usage:
 last [options] [<username>...] [<tty>...]

Show a listing of last logged in users.

Options:
 -<number>            how many lines to show
 -a, --hostlast       display hostnames in the last column
 -d, --dns            translate the IP number back into a hostname
 -f, --file <file>    use a specific file instead of /var/log/wtmp
 -F, --fulltimes      print full login and logout times and dates
 -i, --ip             display IP numbers in numbers-and-dots notation
 -n, --limit <number> how many lines to show
 -R, --nohostname     don't display the hostname field
 -s, --since <time>   display the lines since the specified time
 -t, --until <time>   display the lines until the specified time
 -p, --present <time> display who were present at the specified time
 -w, --fullnames      display full user and domain names
 -x, --system         display system shutdown entries and run level changes
     --time-format <format>  show timestamps in the specified <format>:
                               notime|short|full|iso

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

For more details see last(1).

2.2 last命令选项解释

last [选项] [<用户名>...] [<终端>...]
  • 选项
选项 描述
- 显示多少行记录
-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 <时间> 显示在指定时间时在线的用户
-w, --fullnames 显示完整的用户名和域名
-x, --system 显示系统关机条目和运行级别变更
--time-format <格式> 按照指定的 <格式> 显示时间戳:notime short full iso
-h, --help 显示此帮助
-V, --version 显示版本号

三、last命令的基本使用

3.1 last直接使用

直接在命令行,使用last命令,会列出所有记录中的用户登录历史。

[root@openEuler-test ~]# last
root     pts/0        192.168.3.241    Sat Sep 28 11:58   still logged in
root     pts/0        192.168.3.241    Fri Sep 27 13:27 - 14:02  (00:34)
reboot   system boot  6.6.0-28.0.0.34. Fri Sep 27 13:26   still running
root     pts/0        192.168.3.241    Fri Sep 27 11:16 - down   (02:09)
root     pts/0        192.168.3.241    Fri Sep 27 08:49 - 09:19  (00:29)
root     pts/0        192.168.3.241    Thu Sep 26 14:06 - 15:29  (01:23)
root     pts/0        192.168.3.241    Thu Sep 26 13:32 - 14:05  (00:32)
root     pts/0        192.168.3.241    Wed Sep 25 18:54 - 01:09  (06:15)
root     pts/1        192.168.3.241    Tue Sep 24 23:06 - 00:14  (01:07)
root     pts/0        192.168.3.241    Tue Sep 24 22:59 - 00:14  (01:15)
root     pts/0        192.168.3.241    Tue Sep 24 22:47 - 22:58  (00:10)
root     pts/0        192.168.3.241    Tue Sep 24 22:41 - 22:45  (00:03)
root     pts/0        192.168.3.241    Tue Sep 24 22:39 - 22:39  (00:00)
root     pts/0        192.168.3.241    Tue Sep 24 11:15 - 13:52  (02:36)
root     pts/0        192.168.3.241    Sun Sep 22 23:52 - 01:01  (01:08)
root     pts/0        192.168.3.241    Sat Sep  7 14:57 - 00:59  (10:02)
reboot   system boot  6.6.0-28.0.0.34. Sun Sep  1 04:40 - 13:26 (26+08:46)
root     pts/0        192.168.3.241    Sun Sep  1 04:33 - down   (00:06)
root     pts/0        192.168.3.241    Thu Aug 29 03:05 - 10:05  (07:00)
root     pts/0        192.168.3.241    Wed Aug 21 07:19 - 20:04  (12:44)
root     pts/0        192.168.3.241    Mon Aug 19 13:09 - 14:43  (01:33)
root     pts/0        192.168.3.241    Wed Aug 14 20:43 - 20:43  (00:00)
root     pts/0        192.168.3.241    Tue Aug 13 19:43 - 04:46  (09:03)
root     pts/0        192.168.3.241    Mon Aug 12 11:12 - 03:19  (16:07)
root     pts/0        192.168.3.241    Sun Aug 11 21:26 - 00:12  (02:46)
root     pts/0        192.168.3.241    Sun Aug 11 10:02 - 10:19  (00:17)
root     pts/0        192.168.3.241    Sat Aug 10 12:02 - 21:42  (09:40)
root     pts/1        192.168.3.241    Thu Aug  8 16:46 - 19:00  (02:14)
root     pts/0        192.168.3.168    Thu Aug  8 16:41 - 18:55  (02:14)
root     tty1                          Thu Aug  8 16:40 - 04:39 (23+11:59)
reboot   system boot  6.6.0-28.0.0.34. Thu Aug  8 16:38 - 04:39 (23+12:01)
reboot   system boot  6.6.0-28.0.0.34. Thu Jun 27 15:54 - 04:39 (65+12:45)

wtmp begins Thu Jun 27 15:54:01 2024

3.2 显示特定用户的登录记录

如果我们只想查看某个用户的登录记录,可以在命令后加上用户名。

[root@openEuler-test ~]# last admin
admin    pts/1        192.168.3.89     Sat Sep 28 15:55 - 15:55  (00:00)

wtmp begins Thu Jun 27 15:54:01 2024

3.3 显示自系统启动以来的所有活动

如果想查看自上一次系统重启以来的所有登录和注销活动,可以使用 -s 和 -t 选项来定义一个时间段,或者简单地使用 reboot 关键字来代替用户名:

[root@openEuler-test ~]# last reboot
reboot   system boot  6.6.0-28.0.0.34. Fri Sep 27 13:26   still running
reboot   system boot  6.6.0-28.0.0.34. Sun Sep  1 04:40 - 13:26 (26+08:46)
reboot   system boot  6.6.0-28.0.0.34. Thu Aug  8 16:38 - 04:39 (23+12:01)
reboot   system boot  6.6.0-28.0.0.34. Thu Jun 27 15:54 - 04:39 (65+12:45)

wtmp begins Thu Jun 27 15:54:01 2024

3.4 显示指定数量的最新记录

通过 -n 选项来限制输出的行数,例如只显示最新的5条记录:

[root@openEuler-test ~]# last -n 5
admin    pts/1        192.168.3.89     Sat Sep 28 15:55 - 15:55  (00:00)
root     pts/0        192.168.3.241    Sat Sep 28 11:58   still logged in
root     pts/0        192.168.3.241    Fri Sep 27 13:27 - 14:02  (00:34)
reboot   system boot  6.6.0-28.0.0.34. Fri Sep 27 13:26   still running
root     pts/0        192.168.3.241    Fri Sep 27 11:16 - down   (02:09)

wtmp begins Thu Jun 27 15:54:01 2024

3.5 查询1小时前还在线用户

可以使用 -p 或 --present 选项。这个选项允许你指定一个时间点,并且 last 会显示在那个时间点仍然登录系统的用户。

[root@openEuler-test ~]# last -p "1 hour ago"
root     pts/0        192.168.3.241    Sat Sep 28 11:58   still logged in
reboot   system boot  6.6.0-28.0.0.34. Fri Sep 27 13:26   still running

wtmp begins Thu Jun 27 15:54:01 2024

四、总结

  • 确保 /var/log/wtmp 文件存在且可读,因为 last 命令依赖于该文件来显示登录信息。
  • 需要有适当的权限(通常是root用户或具有sudo权限的用户)才能查看完整的登录记录。
  • 如果系统非常繁忙,/var/log/wtmp 文件可能会变得很大,可能会影响 last 命令的性能。
  • 使用 -p--present 选项指定时间时,确保提供的时间格式正确无误。
  • 使用 -f 选项指定的日志文件必须存在并且格式正确,否则 last 可能无法正常工作。
  • 使用 -s-t 选项限制时间范围时,确保时间格式与系统日志中的时间戳匹配。
  • 如果系统未启用 wtmp 记录功能,last 命令将不会返回任何结果。
  • 定期检查和维护 /var/log/wtmp 文件,以防止其占用过多磁盘空间。
  • 查询特定用户时,确保用户名拼写正确,否则 last 将不会显示任何结果。
  • 对于远程登录,确保网络配置允许记录IP地址,以便 last 能够显示正确的来源信息。
相关文章
|
7天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
1745 117
|
8天前
|
人工智能 程序员 API
Codex 接入 DeepSeek-V4-Flash:还能补上识图,提供两套方案
Codex 接入 DeepSeek-V4-Flash 怎么配?本文覆盖 CLI 与桌面端,再用 qwen3-vl-flash 补识图,两套方案可直接照做
1249 9
|
14天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1956 9
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
8天前
|
编解码 人工智能 安全
2核4G/4核8G/8核16G阿里云服务器如何选择实例?经济型e、通用算力型u2i与计算型c9i选哪个?
本文介绍了阿里云2核4G、4核8G、8核16G三档主流配置下经济型e、通用算力型u2i和计算型c9i三种实例的最新活动价格与适用场景。同配置下三者价差显著,以2核4G为例,经济型e低至599.93元/年,计算型c9i则高达1742.08元/年。文章详细解析了各实例的性能定位:经济型e适合轻负载入门场景,u2i兼顾稳定算力与性价比,c9i凭借第9代至强处理器与芯片级安全能力支撑高性能业务。同时提示用户可叠加满减优惠券享受折上折,建议根据业务负载与预算综合决策。
543 112
缓存 安全 IDE
957 2
|
20天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
2941 4
|
8天前
|
人工智能 JSON Shell
2026AI漫剧本地全开源方案(附各个软件模型链接),8G显卡也能流畅运行
这是一套完全本地化部署的AI漫剧生成技术链路:涵盖LLM剧本分镜生成、FLUX文生图(IP-Adapter人脸锁定)、StoryDiffusion时序连贯控制、LTX-2.3唇形同步视频生成,及ComfyUI全流程调度。零云端费用,仅耗硬件算力,单集2–4小时可产出竖屏短视频,适配抖音/B站分发。
|
5天前
|
编解码 弹性计算 云计算
MiniMax-H3 视频生成模型 — 一键部署与使用指南
MiniMax-H3是MiniMax开源的33B全模态视频生成模型,支持文生视频、图生视频、参考生视频三种模式,原生输出2K/15秒带立体声音频视频,已原生适配ComfyUI,并可通过阿里云计算巢一键部署。(239字)
|
12天前
|
存储 人工智能 关系型数据库
阿里云AI产品与云产品最新组合套餐:Token Plan、AI coding及云服务器和建站等组合优惠价
阿里云推出全新“算力+模型+应用”一站式云与AI组合套餐活动,覆盖从个人开发者到中大型企业的全场景需求。核心亮点为分三档定价的Token Plan订阅服务,支持Qwen3.8-Max-Preview大模型调用,错峰时段最低可享0.2折优惠。活动同步推出AI Coding、智能体部署、云电脑托管、0代码建站等十余类场景化组合,搭配99元/年的普惠云服务器、88元/年的入门数据库等经典特惠产品,还为企业提供1V1定制化AI转型方案,大幅降低了不同用户群体拥抱AI的技术门槛与采购成本。
748 111