TAIL(1)
π TAIL(1) π
okay so welcome to the TAIL(1) manual page, bestie β this is the one, this is the icon, and by the end you're gonna be tailing files like it's your whole personality π
β¨ NAME β¨
tail β output the last part of files π
πΈ SYNOPSIS πΈ
tail [OPTION]... [FILE]...
π¦ DESCRIPTION π¦
Okay so here's the vibe: tail prints the last 10 lines of each FILE straight to standard output. That's it. That's the whole gig. π
If you hand it more than one FILE, it precedes each one with a header telling you the file name β so you never get confused about which file's drama you're reading.
With no FILE at all, or when FILE is -, it reads from standard input. Yes, the classic - move. iconic.
ngl mandatory arguments to long options are mandatory for short options too β that's just how the family works, no negotiating.
-c,--bytes=[+]NUMβ outputs the lastNUMbytes; or if you do-c +NUMit outputs starting with byteNUMof each file β¨--debugβ tells you which--followimplementation is being used π-f,--follow[={name|descriptor}]β outputs appended data as the file grows π± if you don't give the option argument at all, it just meansdescriptor-Fβ literally the same as--follow=name --retry, fr fr-n,--lines=[+]NUMβ outputs the lastNUMlines instead of the last 10; or use-n +NUMto skipNUM-1lines at the start π«--max-unchanged-stats=Nβ with--follow=name, it reopens aFILEthat hasn't changed size afterN(default5) iterations, just to see if it got unlinked or renamed β which is, like, the usual case of rotated log files; withinotifythis option is rarely useful π«--pid=PIDβ with-f, it exits afterPIDno longer exists; you can repeat this to watch multiple processes, no cap π―-q,--quiet,--silentβ never outputs headers giving file names, shhh π€«--retryβ keeps trying to open a file if it's inaccessible. persistent queen π-s,--sleep-interval=Nβ with-f, sleeps for approximatelyNseconds (default1.0) between iterations; withinotifyand--pid=P, it checks processPat least once everyNseconds π΄-v,--verboseβ always outputs headers giving file names. main character behavior, honestly π¬-z,--zero-terminatedβ line delimiter isNUL, not newline π³οΈ--helpβ displays this help and exits π--versionβ outputs version information and exits β
NUM may have a multiplier suffix, and yes you're gonna want these: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y, R, Q. Binary prefixes can be used too: KiB=K, MiB=M, and so on. π
With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. Sounds great, right? BUT β this default behavior is not desirable when you actually want to track the real name of the file, not the file descriptor (e.g., log rotation, the eternal struggle). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. slay π
π AUTHOR π
Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering. the founding fathers of tails, we stan π«Ά
π REPORTING BUGS π
- Report bugs to:
bug-coreutils@gnu.org - GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
- General help using GNU software: <https://www.gnu.org/gethelp/>
- Report any translation bugs to <https://translationproject.org/team/>
π₯ SEE ALSO π₯
head(1)- Full documentation <https://www.gnu.org/software/coreutils/tail>
- or available locally via:
info '(coreutils) tail invocation'
Packaged by Ubuntu (9.10-1ubuntu2) Copyright Β© 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
and that's the whole page, bestie β this was GNU coreutils 9.10, dated August 2026, and it's giving TAIL(1) in the most immaculate way possible. mwah ππ
π¦ where this page comes from
- ubuntu stonking: gnu-coreutils 9.10-1ubuntu2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms