TAIL(1) BSD General Commands Manual TAIL(1)
tail -- display the last part of a file
tail [-F | -f | -r] [-q] [-b number | -c number | -n number] [file ...]
The tail utility displays the contents of file or, by default, its standard input, to the
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 the second 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'' dis-
plays the last two lines of the input. The default starting location is ``-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.
-f The -f option causes tail to not stop when end of file is reached, but rather to
wait for additional data to be appended to the input. The -f option is ignored if
the standard input is a pipe, but not if it is a FIFO.
-F The -F option implies the -f option, but tail will also check to see if the file
being followed has been renamed or rotated. The file is closed and reopened when
tail detects that the filename being read from has a new inode number.
If the file being followed does not (yet) exist or if it is removed, tail will keep
looking and will display the file from the beginning if and when it is created.
The -F option is the same as the -f option if reading from standard input rather
than a file.
The location is number lines.
-q Suppresses printing of headers when multiple files are being examined.
-r The -r option causes the input to be displayed in reverse order, by line. Addition-
ally, 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 the beginning or end
of the input from which to begin the display. The default for the -r option is to
display all of the input.
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 file unless -q flag is specified.
The tail utility exits 0 on success, and >0 if an error occurs.
To display the last 500 lines of the file foo:
$ tail -n 500 foo
Keep /var/log/messages open, displaying to the standard output anything appended to the
$ tail -f /var/log/messages
cat(1) , head(1) , sed(1)
The tail utility is expected to be a superset of the IEEE Std 1003.2-1992 (``POSIX.2'')
specification. In particular, the -F, -b and -r options are extensions to that standard.
The historic command line syntax of tail is supported by this implementation. The only dif-
ference between this implementation and historic versions 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 -c option and display
the last 4 lines of the input.
A tail command appeared in PWB UNIX.
BSD March 16, 2013 BSD