head (Unix)
head is a program on Unix and Unix-like operating systems used to display the beginning of a text file or piped data.
Developer(s) | Various open-source and commercial developers |
---|---|
Operating system | Unix, Unix-like, MSX-DOS, IBM i |
Platform | Cross-platform |
Type | Command |
License | coreutils: GPLv3 |
Syntax
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 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.
Flags
-c <x number of bytes> Copy first x number of bytes.
Other
Many early versions of Unix 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.
Implementations
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
References
- MSX-DOS2 Tools User's Manual by ASCII Corporation
- IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
External links
The Wikibook Guide to Unix has a page on the topic of: Commands |
- head manual page from GNU coreutils.
- FreeBSD documentation for head