head (Unix)

From Wikipedia, the free encyclopedia
Developer(s)Various open-source and commercial developers
Operating systemUnix, Unix-like, MSX-DOS, IBM i
Licensecoreutils: GPLv3

head is a program on Unix and Unix-like operating systems used to display the beginning of a text file or piped data.


The command syntax is:

head [options] <file_name>

By default, head will print the first 10 lines of its input to the standard output. The number of lines printed may be changed with a command line option. The following example shows the first 20 lines of filename:

head -n 20 filename

This displays the first 5 lines of all files starting with foo:

head -n 5 foo*

Most versions[citation needed] allow omitting n and instead directly specifying the number: -5. GNU head allows negative arguments for the -n option, meaning to print all but the last - argument value counted - lines of each input file.


-c <x number of bytes> Copy first x number of bytes.


Many early versions of Unix and Plan 9 did not have this command, and documentation and books used sed instead:

sed 5q filename

The example prints every line (implicit) and quit after the fifth.


A head command is also part of ASCII's MSX-DOS2 Tools for MSX-DOS version 2.[1] The head command has also been ported to the IBM i operating system.[2]

See also[edit]


  1. ^ MSX-DOS2 Tools User's Manual by ASCII Corporation
  2. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.

External links[edit]