Linux 中的 last 命令用法
如果要管理多用户系统,有时候会需要知道谁、何时以及从何处登录到计算机。
last
是一个命令行实用程序,用于显示有关系统用户的最后登录会话的信息。当您需要跟踪用户活动或调查可能的安全漏洞时,此功能非常有用。
本文介绍了如何使用 last
命令查看登录系统的人员。
如何使用 last
命令
该 last
命令的语法如下:
last [OPTIONS] [USER] [<TTY>...]
每次用户登录系统时,该会话的记录都会写入 /var/log/wtmp
文件中。 last
读取文件 wtmp
文件并打印有关用户登录和注销的信息。从最近的记录开始,记录以相反的时间顺序打印。
在没有任何选项或参数的情况下调用 last
时,输出看起来像这样:
mark pts/0 10.10.0.7 Fri Feb 21 21:23 still logged in
mark pts/0 10.10.0.7 Tue Feb 18 22:34 - 00:05 (01:31)
lisa :0 :0 Thu Feb 13 09:19 gone - no logout
reboot system boot 4.15.0-74-g Fri Jan 24 08:03 - 08:03 (00:00)
...
输出的每一行从左到右包含以下几列:
- 用户名。系统重新引导或关闭时,
last
显示特殊用户reboot
和shutdown
。 - 会话所在的 tty 。
:0
通常表示用户正在登录桌面环境。 - 用户登录的 IP 地址或主机名。
- 会话的开始和结束时间。
- 会话持续时间。如果会话仍处于活动状态或用户未注销,则 last 将显示有关该会话的信息,而不是持续时间。
要将输出限制为特定用户或 tty ,请将用户名或 tty 作为参数传递给 last
命令:
last mark
您还可以指定多个用户名和 ttys 作为参数:
last mark root pts/0
last
命令选项
last
接受几个选项,这些选项使您可以限制,格式化和过滤输出。在本节中,我们将介绍最常见的内容。
要指定您希望在命令行上打印的行数,请将数字前面加一个连字符传递给 last
。例如,要仅打印最后十个登录会话,请输入:
last -10
使用 -p
(--present
) 选项,您可以找出在特定日期登录系统的人员。
last -p 2020-01-15
使用 -s
(--since
) 和 -t
(--until
) 选项指示 last
显示自指定时间以来或直到指定时间为止的行。这两个选项通常一起使用,以定义您要检索信息的时间间隔。例如,要显示 2 月 13 日至 2 月 18 日的登录记录,可以运行:
last -s 2020-02-13 -u 2020-02-18
传递给 -p
, -s
的时间可以通过 -t
选项可以按以下格式指定:
YYYYMMDDhhmmss
YYYY-MM-DD hh:mm:ss
YYYY-MM-DD hh:mm (seconds will be set to 00)
YYYY-MM-DD (time will be set to 00:00:00)
hh:mm:ss (date will be set to today)
hh:mm (date will be set to today, seconds to 00)
now
yesterday (time is set to 00:00:00)
today (time is set to 00:00:00)
tomorrow (time is set to 00:00:00)
+5min
-5days
默认情况下, last
不显示秒和年。使用 -F
(--fulltimes
) 选项查看完整的登录和注销时间和日期:
last -F
如果想显示 IP 地址,可以使用 -i
(--ip
) 选项,使用 -d
(--dns
) 来显示主机名:
last -i
结论
该 last
命令显示有关用户登录和注销时间的信息。有关命令的更多信息,请在终端中键入 man last
查看。