TAIL(1)
π« tail (and xtail) β the manual, but make it make sense π«
Okay so bestie, gather βround. This is the tail page from User Contributed Perl Documentation. Weβre talking about tail - display the last part of a file and xtail - watch the growth of files. No cap, itβs giving βI just want to see the end of this log without scrolling for a million yearsβ energy. π
β¨ SYNOPSIS β¨
tail [-f | -r] [-b number | -c number | -n number | [-+]number]
[file...]
xtail file ...
πΈ DESCRIPTION πΈ
So tail literally displays the contents of file β or, if you donβt give it one, its standard input β straight to standard output. Iconic, lowkey.
The display begins at a byte, line, or 512-byte block location in the input. Numbers with 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 with 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 location is -n 10, or the last 10 lines of the input. Periodt. π
Now, the xtail utility monitors one or more files and displays all data written to a file since command invocation. It is very useful for monitoring multiple logfiles simultaneously. It may be invoked by renaming tail to xtail, or by calling tail with the -f option. Bestie, this is the multitasking queen we didnβt know we needed. π
With xtail or tail -f, if an entry given on the command line is a directory, all files in that directory will be monitored β including those created after the invocation. If an entry given on the command line doesnβt exist, the program will watch for it and monitor it once created. When switching files in the display, a banner showing the pathname of the file is printed. Itβs giving βI see you, new file, welcome to the watch party.β π¦
Send a quit signal (usually CTRL/backslash) to display a list of the most recently modified files being watched. Ngl, thatβs kind of a vibe check on your logs. π
The options are the following for tail (no options are supported by xtail):
π OPTIONS π
-bnumber β The location is number 512-byte blocks. π§±-cnumber β The location is number bytes. π’-fβ The-foption causestailto 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 (ie. the inode number changes),tailwill reopen the file and continue. If the file is truncated,tailwill reset its position back to the beginning. This makestailmore useful for watching log files that may get rotated. The-foption is ignored if the standard input is a pipe, but not if it is a FIFO. π₯-nnumber β The location is number lines. π-rβ The-roption causes the input to be displayed in reverse order, by line. Additionally, this option changes the meaning of the-b,-cand-noptions. When the-roption 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-roption is to display all of the input. π-dddwhere ddd is an integer β Same as-n ddd. β¨
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.
This header also appears with the -f option, when the file inode has changed.
The tail utility exits 0 on success or >0 if an error occurred.
π SEE ALSO π
π§ STANDARDS π§
The tail utility is expected to be a superset of the IEEE Std1003.2-1992 (POSIX.2) specification. In particular, the -b and -r options are extensions to that standard.
The historic command line syntax of tail is supported by this implementation. The only difference 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. π
π HISTORY π
A tail command appeared in Version 7 AT&T UNIX.
The original version of xtail was written by Chip Rosenthal.
π BUGS π
This implementation of tail and xtail has no known bugs. However it has not been completely tested on all systems (yet). π«Ά
π NOTES π
The xtail implementation opens and reopens file handles very often. It works pretty well on my system, but tell me if you have problems monitoring directories with hundreds of log files which vary very often.
Since tail -f or xtail catches the INT signals (CTRL-C), the program must be stopped a QUIT signal (CTRL-D) or by some other means, for instance CTRL-Pause on Windows.
π AUTHOR π
The Perl implementation was written by Thierry Bezecourt, thbzcrt@worldnet.fr. Perl Power Tools project, March 1999.
This documentation comes from the BSD tail(1) man page and from the xtail man page. The integration of xtail was Tom Christiansenβs idea.
π COPYRIGHT and LICENSE π
This program is free and open software. You may use, modify, distribute, and sell this program (and any modified variants) in any way you wish, provided you do not restrict others from doing the same.
Okay bestie, thatβs the whole thing. No gatekeeping, no missing flags. Slay. π β¨
perl v5.42.2 β 2026-02-15 β TAIL(1) Now go watch those logs like the main character you are. π¦πΈ
π¦ where this page comes from
- alpine 3.24: perl-power-tools-doc 1.053-r1 Β· GPL-2.0-or-later AND Artistic-1.0-Perl AND Artistic-2.0 AND BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms