#Bash 的 last 命令
last [OPTIONS] [USERNAME...] [TTY...]
功能
显示最近登录的用户列表。
类型
可执行文件(/usr/bin/last),属于 util-linux。
参数
OPTIONS选项:-a,--hostlast- 在最后一列显示主机名-d,--dns- 将远程登录的 IP 地址转换为主机名-f,--file FILE- 使用FILE文件代替默认的/var/log/wtmp-F,--fulltimes- 显示完整的日期和时间-i,--ip- 显示远程登录的 IP 地址-n,--limit NUMBER- 显示最近的NUMBER条记录-p,--present TIME- 显示指定时间段内的记录;相当于同时使用--since和--until-R,--nohostname- 隐藏主机名-s,--since TIME- 显示自指定时间TIME(含) 以来的记录-t,--until TIME- 显示自指定时间TIME(不含) 之前的记录--time-format FORMAT- 指定时间的显示格式:notime- 不显示时间short- 短格式(默认)full- 长格式iso- ISO-8601
-w,--fullnames- 显示完整的用户名-x,--system- 显示系统关机条目和运行级别更改-h,--help- 显示帮助-V,--version- 显示版本
USERNAME指定用户列表TTY指定终端列表
#示例
$ last -n 10 # 查看最近的 10 条登录记录
...
$ last -n 10 -s '2026-01-01' # 查看 2026-01-01 以来的 10 条登录记录
...
#推荐阅读
#手册
LAST(1) User Commands LAST(1)
NAME
last, lastb - show a listing of last logged in users
SYNOPSIS
last [options] [username...] [tty...]
lastb [options] [username...] [tty...]
DESCRIPTION
last searches back through the /var/log/wtmp file (or the file
designated by the -f option) and displays a list of all users logged in
(and out) since that file was created. One or more usernames and/or
ttys can be given, in which case last will show only the entries
matching those arguments. Names of ttys can be abbreviated, thus last 0
is the same as last tty0.
When catching a SIGINT signal (generated by the interrupt key, usually
control-C) or a SIGQUIT signal, last will show how far it has searched
through the file; in the case of the SIGINT signal last will then
terminate.
The pseudo user reboot logs in each time the system is rebooted. Thus
last reboot will show a log of all the reboots since the log file was
created.
lastb is the same as last, except that by default it shows a log of the
/var/log/btmp file, which contains all the bad login attempts.
OPTIONS
-a, --hostlast
Display the hostname in the last column. Useful in combination with
the --dns option.
-d, --dns
For non-local logins, Linux stores not only the host name of the
remote host, but its IP number as well. This option translates the
IP number back into a hostname.
-f, --file file
Tell last to use a specific file instead of /var/log/wtmp. The
--file option can be given multiple times, and all of the specified
files will be processed.
-F, --fulltimes
Print full login and logout times and dates.
-i, --ip
Like --dns , but displays the host’s IP number instead of the name.
-number; -n, --limit number
Tell last how many lines to show.
-p, --present time
Display the users who were present at the specified time. This is
like using the options --since and --until together with the same
time.
-R, --nohostname
Suppresses the display of the hostname field.
-s, --since time
Display the state of logins since the specified time. This is
useful, e.g., to easily determine who was logged in at a particular
time. The option is often combined with --until.
-t, --until time
Display the state of logins until the specified time.
--time-format format
Define the output timestamp format to be one of notime, short,
full, or iso. The notime variant will not print any timestamps at
all, short is the default, and full is the same as the --fulltimes
option. The iso variant will display the timestamp in ISO-8601
format. The ISO format contains timezone information, making it
preferable when printouts are investigated outside of the system.
-w, --fullnames
Display full user names and domain names in the output.
-x, --system
Display the system shutdown entries and run level changes.
-h, --help
Display help text and exit.
-V, --version
Print version and exit.
TIME FORMATS
The options that take the time argument understand the following
formats:
┌─────────────────────┬───────────────────────────┐
│ │ │
│ 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 │ │
└─────────────────────┴───────────────────────────┘
FILES
/var/log/wtmp, /var/log/btmp
NOTES
The files wtmp and btmp might not be found. The system only logs
information in these files if they are present. This is a local
configuration issue. If you want the files to be used, they can be
created with a simple touch(1) command (for example, touch
/var/log/wtmp).
An empty entry is a valid type of wtmp entry. It means that an empty
file or file with zeros is not interpreted as an error.
The utmp file format uses fixed sizes of strings, which means that very
long strings are impossible to store in the file and impossible to
display by last. The usual limits are 32 bytes for a user and line name
and 256 bytes for a hostname.
AUTHORS
Miquel van Smoorenburg <miquels@cistron.nl>
SEE ALSO
login(1), wtmp(5), init(8), shutdown(8)
REPORTING BUGS
For bug reports, use the issue tracker at
https://github.com/util-linux/util-linux/issues.
AVAILABILITY
The last command is part of the util-linux package which can be
downloaded from Linux Kernel Archive
<https://www.kernel.org/pub/linux/utils/util-linux/>.
util-linux 2.39.3 2023-12-01 LAST(1)