lastb1
Show a listing of last logged in users
Part of last(1).
Usage
last [options]
[{username | tty}] ...
lastb [options]
[{username | tty}] ...
Overview
last searches back through the /var/log/wtmp file (or the file given with the -f option) and displays a list of all users who 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 or SIGQUIT signal, last will show how far it has searched through the file, and in case of the SIGINT signal (generated by the interrupt key, usually control-C) 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
-doption.
-
-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
lastto use a specific file instead of /var/log/wtmp. The-foption 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
-d, but displays the host’s IP number instead of the name.
-
-n, --limit number -
The maximum amount of logins to show.
-
-number -
The same as
-nnumber.
-
-p, --present time -
Display the users who were present at the specified time. For ways to specify time, see the section TIME FORMATS below.
-
-R, --nohostname -
Suppresses the display of the hostname field.
-
-s, --since time -
Display the state of logins since the specified time. The option can be combined with
-tto cover a period.
-
-t, --until time -
Display the state of logins until the specified time.
-
-T, --tab-separated -
Use ASCII
tabcharacters to separate the columns in the output instead of spaces.
-
--time-format format -
Define the appearance of the timestamp to be one of:
notime,short,full, oriso. Thenotimevariant will not print any timestamps at all,shortis the default, andfullis the same as the--fulltimesoption. Theisovariant 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 / IP addresses. When this option is not specified, user names are truncated to 8 characters, and domain names and IP addresses to 16 characters. An asterisk is shown as the last character of truncated fields.
-
-x, --system -
Display the system shutdown entries and run level changes.
-
-h, --help -
Display help text and exit.
-
-V, --version -
Display version and exit.
Time formats
The argument time allows the following forms:
YYYYMMDDhhmmss "YYYY-MM-DD hh:mm:ss" "YYYY-MM-DD hh:mm" (seconds is 00) YYYY-MM-DD (time is 00:00:00) hh:mm:ss (date is today) hh:mm (date is today, seconds is 00) now today (time is 00:00:00) yesterday (time is 00:00:00) -number[smhd] (seconds/minutes/hours/days before now)
Examples of the -number[smhd] format are: -5m, -6h, -2d. The unit specifier may be longer: -5min, -6hours, -2days.
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.
Releases
18 releases since Debian 1.1 (Buzz); the text changed 10 times.
--dns since Debian 9 (Stretch);
--file since Debian 9 (Stretch);
--fullnames since Debian 9 (Stretch);
--fulltimes since Debian 9 (Stretch);
--help since Debian 12 (Bookworm);
--hostlast since Debian 9 (Stretch);
--ip since Debian 9 (Stretch);
--limit since Arch Linux 2026-11-01;
--nohostname since Debian 9 (Stretch);
--present since Debian 9 (Stretch);
--since since Debian 9 (Stretch);
--system since Debian 9 (Stretch);
--tab-separated since Arch Linux 2026-11-01;
--time-format since Debian 12 (Bookworm);
--until since Debian 9 (Stretch);
--version since Debian 12 (Bookworm);
-F since Debian 6.0 (Squeeze);
-T since Arch Linux 2026-11-01;
-V since Debian 12 (Bookworm);
-f since Debian 4.0 (Etch);
-h since Debian 12 (Bookworm);
-i since Debian 2.2 (Potato);
-n since Arch Linux 2026-11-01;
-number since Arch Linux 2026-11-01;
-p since Debian 9 (Stretch);
-s since Debian 9 (Stretch);
-t since Debian 3.1 (Sarge);
-w since Debian 6.0 (Squeeze).
-num until Debian 8 (Jessie);
-o until Debian 8 (Jessie).