---
name: "plan9-tail"
section: "1"
platform: "linux"
package: "9base"
version: "1:6-5"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/plan9-tail"
---

# plan9-tail(1)

deliver the last part of a file

## NAME

tail - deliver the last part of a file

## SYNOPSIS

**tail** \[ **+-***number*\[**lbc**\]\[**rf**\] \] \[ *file* \]

**tail** \[ **-fr** \] \[ **-n** *nlines* \] \[ **-c** *nbytes* \] \[ *file* \]

## DESCRIPTION

*Tail* copies the named file to the standard output beginning at a designated place. If no file is named, the standard input is copied.

Copying begins at position **+***number* measured from the beginning, or **-***number* from the end of the input. *Number* is counted in lines, 1K blocks or bytes, according to the appended flag or Default is **-10l** (ten ell).

The further flag causes tail to print lines from the end of the file in reverse order; (follow) causes *tail*, after printing to the end, to keep watch and print further data as it appears.

The second syntax is that promulgated by POSIX, where the *numbers* rather than the options are signed.

## EXAMPLES

- **tail file**

  Print the last 10 lines of a file.

- **tail +0f file**

  Print a file, and continue to watch data accumulate as it grows.

- **sed 10q file**

  Print the first 10 lines of a file.

## SOURCE

**/src/cmd/tail.c**

## BUGS

Tails relative to the end of the file are treasured up in a buffer, and thus are limited in length.

According to custom, option **+***number* counts lines from 1, and counts blocks and bytes from 0.

*Tail* is ignorant of UTF.
