last 命令

用途

显示关于先前登录信息。

语法

最后的 [ -X ] [ -f FileName ] [ -t 时间 ] [ -n 数字 | - 数字 ] [ 名称... ] [ 终端... ]

描述

last 命令以逆向时间顺序显示依然记录在 /var/adm/wtmp 文件中的所有登录和注销。 当登录和注销发生时 /var/adm/wtmp 文件收集它们的记录并保存它们直到记录由作为日常报告过程一部分的 acctcon1acctcon2 命令处理。 当计时的时间守护程序改变系统时间,它在伪用户“日期”下记录 wtmp 中的条目。 在更改前,一个以 "date |" 开头的条目被记录,在改变后,一个以 "date {" 开头的被记录。 这允许对跨越时间变换的登录进行准确的记帐。

这个列表可被限制在:

  • -Number 参数或 -n 标志指定的行数。
  • Name 参数指定的用户的登录或注销。
  • 从由 Terminal 参数指定的终端登录或注销。
  • 终端可被全命名或简写为 tty。 例如,您可以指定tty0终端或0终端。

    注:如果同时指定 NameTerminal 参数,那么 last 命令会显示所有满足任一条件的登录和注销。

对每个进程,last 命令显示:

  • 会话开始时间
  • 持续时间
  • 已使用 终端 (tty)

包含下列信息(如果有的话):

  • 由于重新引导而终止
  • 仍在继续的 会话

如果 last 命令被中断,它表示在 /var/adm/wtmp 文件中的搜索进行了多远。 如果中断的信号是 quit,该命令表示搜索进行了多远然后继续搜索。 quit 信号可是下面的任何一个:

#define SIGQUIT 3 /* (*) quit, 
generated from terminal special char */
   
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
   
#define SIGTERM 15 /* software termination signal */

kill 命令在没有选项下被调用时,发送缺省的 SIGTERM 信号。 如果想发送 SIGQUIT 信号,输入下列内容:

kill -3 (Process ID)

标志

描述
-f FileName 指定一个来读取登录或注销的备用文件。
-n 指定在列表中要显示的行数。
-t 时间 显示在一个给定的时间值中登录的用户。 时间变量以十进制的 [[CC]YY]MMDDhhmm[.SS] 形式指定,其中:
CC
指定年份的前两个数字。
YY
指定年份的后两位数字。
MM
指定一年的哪一月(从 01 至 12)。
DD
指定一月的哪一天(从 01 至 31)。
hh
指定一天中的哪一小时(从 00 至 23)。
mm
指定一小时的哪一分钟(从 00 至 59)。
SS
指定一分钟的哪一秒(从 00 至 59)。
-X 打印每个用户名的所有可用字符,而不是将其截断为前 8 个字符。

示例

  1. 按用户显示所有记录的登录和注销root或来自console终端,类型:
    last root console
  2. 要显示系统两次重新引导之间的时间,请输入:
    last reboot
    reboot伪用户在系统再次启动时登录。
  3. 要显示所有在 4 月 15 日上午 10:30 仍登录的用户,请输入:
    last -t 04151030
  4. 要显示列表中的 10 行,请输入:
    last -n 10
  5. 要显示所有记录的登录和注销(不截断用户名),请输入:
    last -X

文件

描述
/usr/bin/last 包含 last 命令。
/var/adm/wtmp 包含连接时间记帐数据,包括登录,注销和关机记录。