LAST(1) User Commands LAST(1)

last, lastb - show a listing of last logged in users

last [options] [username|tty]...

lastb [options] [username|tty]...

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.

-a, --hostlast

Display the hostname in the last column. Useful in combination with the -d 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 -f 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 -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 -n number.

-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 -t to cover a period.

-t, --until time

Display the state of logins until the specified time.

-T, --tab-separated

Use ASCII tab characters 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, 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 / 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.

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.

/var/log/wtmp, /var/log/btmp

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.

Miquel van Smoorenburg <miquels@cistron.nl>

login(1), wtmp(5), init(8), shutdown(8)

For bug reports, use the issue tracker https://github.com/util-linux/util-linux/issues.

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/.

2026-04-01 util-linux 2.42