tail - display the last part of a file
tail [-f | -r] [-b number | -c number | -n number | -number]
The tail utility displays the contents of file or, by default, its standard
input, to the standard output.
The display begins at a byte, line, or 512-byte block location in the input.
Numbers having a leading plus (`+') sign are relative
to the beginning
of the input, for example, -c +2 starts the display at
byte of the input. Numbers having a leading minus (`-')
sign or no explicit
sign are relative to the end of the input, for example, -n 2 displays
the last two lines of the input. The default starting
-n 10, or the last 10 lines of the input.
The options are as follows:
The location is number 512-byte blocks.
The location is number bytes.
-n number | -number
The location is number lines.
-f Do not stop when end-of-file is reached, but rather
to wait for
additional data to be appended to the input. If the
file is replaced
(i.e., the inode number changes), tail will
file and continue. If the file is truncated, tail
will reset its
position to the beginning. This makes tail more
watching log files that may get rotated. The -f option is ignored
if the standard input is a pipe, but not if it
is a FIFO.
-r The -r option causes the input to be displayed in
by line. Additionally, this option changes the
meaning of the
-b, -c, and -n options. When the -r option is specified, these
options specify the number of bytes, lines or
512-byte blocks to
display, instead of the bytes, lines, or blocks from
or end of the input from which to begin the
default for the -r option is to display all of the
If more than a single file is specified, each file is preceded by a header
consisting of the string ``==> XXX <=='' where ``XXX'' is
the name of
The tail utility exits 0 on success or >0 if an error occurred.
To display the last 500 lines of the file foo:
$ tail -500 foo
Keep /var/log/messages open, displaying to the standard output anything
appended to the file:
$ tail -f /var/log/messages
cat(1), head(1), sed(1)
The tail utility is expected to be a superset of the IEEE
(``POSIX.2'') specification. In particular, the -b and -r
extensions to that standard.
The historic command line syntax of tail is supported by
The only difference between this implementation and
of tail, once the command line syntax translation has
been done, is
that the -b, -c and -n options modify the -r option, i.e.,
-r -c 4 displays
the last 4 characters of the last line of the input,
while the historic
tail (using the historic syntax -4cr) would ignore the
and display the last 4 lines of the input.
A tail command appeared in Version 7 AT&T UNIX.
OpenBSD 3.6 June 6, 1993
[ Back ]