Jump to content

tail (Unix)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 216.14.198.58 (talk) at 23:06, 30 June 2010 (-n and -c options are supported in current version of Solaris v10). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

tail is a program on Unix and Unix-like systems used to display the last few lines of a text file or piped data.

Syntax

The command-syntax is:

tail [options] <file_name>

By default, tail will print the last 10 lines of its input to the standard output. With command line options the number of lines printed and the printing units (lines, blocks or bytes) may be changed. The following example shows the last 20 lines of filename:

tail -n 20 filename

This example shows the last 15 bytes of all files starting with foo:

tail -c 15 foo*

This example shows all lines of filename from the second line onwards:

tail -n +2 filename

Using an older syntax (still used in older version of Sun Solaris as the -n option is not supported), the last 20 lines and the last 50 bytes of filename can be shown with the following command:

tail -20 filename
tail -50c filename

However this syntax is now obsolete and does not conform with the POSIX 1003.1-2001 standard. Even if still supported in current versions, when used with other options (like -f, see below), these switches could not work at all.

File monitoring

tail has a special command line option -f (follow) that allows a file to be monitored. Instead of displaying the last few lines and exiting, tail displays the lines and then monitors the file. As new lines are added to the file by another process, tail updates the display. This is particularly useful for monitoring log files. The following command will display the last 10 lines of messages and append new lines to the display as new lines are added to messages:

tail -f /var/adm/messages

To interrupt tail while it is monitoring, break-in with Ctrl+C. This command can be run "in the background" with &, see job control.

If you have a command's result to monitor, you can use the watch command.

Variants

  • CCZE is tail-like while displaying its output in color
  • pctail Like CCZE: Python Colorized TAIL, a colorized tail made in python which tails and colorizes syslog output.
  • root-tail displays the output in the X-server root window
  • Inotail: the regular tail polls every second to see if new data can be displayed. Inotail uses the Linux kernel's inotify-interface so that it only checks for new data when there really is some.
  • MultiTail not only displays logfiles in colors, it can also merge, filter, scrollback and split a terminal window in subwindows. It is more or less a combination of tail, sed, watch, CCZE/pctail, grep, diff, Beeper and others.

See also