Head (Unix)

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Head" Unix – news · newspapers · books · scholar · JSTOR (June 2020) (Learn how and when to remove this message)

|

Program on Unix and Unix-like systems

head

Example usage of `head` command to display first 5 lines of Lorem ipsum in the specified file

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

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

## Syntax

[edit]

The command syntax is:

head [options] ⟨file_name⟩

By default, head will print the first 10 lines of its input to the standard output.

### Option flags

[edit]

-n ⟨count⟩
\--lines=⟨count⟩
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 ⟨bytes⟩
\--bytes=⟨bytes⟩
Print first x number of bytes.

## Other command

[edit]

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 quits after the fifth.

Equivalently, awk may be used to print the first five lines in a file:

awk 'NR < 6' filename

However, neither sed nor awk were available in early versions of BSD, which were based on Version 6 Unix, and included head.[1]

## Implementations

[edit]

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

## See also

[edit]

* tail (Unix)
* dd (Unix)
* List of Unix commands

## References

[edit]

1. ^ Spinellis, Diomidis (2022). "dspinellis/unix-history-man: Version 1.0 web pages (v1.1-web)". Zenodo. doi:10.5281/zenodo.7248228.
2. ^ MSX-DOS2 Tools User's Manual by ASCII Corporation
3. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.

## External links

[edit]

The Wikibook Guide to Unix has a page on the topic of: Commands

* head manual page from GNU coreutils.
* FreeBSD documentation for head

* v
* t
* e

Unix command-line interface programs and shell builtins

File system|

* cat
* chattr
* chmod
* chown
* chgrp
* cksum
* cmp
* cp
* dd
* du
* df
* file
* fuser
* ln
* ls
* mkdir
* mv
* pax
* pwd
* rm
* rmdir
* split
* tee
* touch
* type
* umask

Processes|

* at
* bg
* crontab
* fg
* kill
* nice
* ps
* time

User environment|

* env
* exit
* logname
* mesg
* talk
* tput
* uname
* who
* write

Text processing|

* awk
* basename
* comm
* csplit
* cut
* diff
* dirname
* ed
* ex
* fold
* head
* iconv
* join
* m4
* more
* nl
* paste
* patch
* printf
* read
* sed
* sort
* strings
* tail
* tr
* troff
* uniq
* vi
* wc
* xargs

Shell builtins|

* alias
* cd
* echo
* test
* unset
* wait

Searching|

* find
* grep

Documentation|

* man

Software development|

* ar
* ctags
* lex
* make
* nm
* strip
* yacc

Miscellaneous|

* bc
* cal
* expr
* lp
* od
* sleep
* true and false

* Categories
* Standard Unix programs
* Unix SUS2008 utilities
* List

* v
* t
* e

GNU Core Utilities command-line interface programs

File system|

* chcon
* chmod
* chown
* chgrp
* cksum
* cp
* dd
* df
* dir
* dircolors
* install
* ln
* ls
* mkdir
* mkfifo
* mknod
* mktemp
* mv
* realpath
* rm
* rmdir
* shred
* sync
* touch
* truncate
* vdir

Text utilities|

* b2sum
* base32
* base64
* cat
* cksum
* comm
* csplit
* cut
* expand
* fmt
* fold
* head
* join
* md5sum
* nl
* numfmt
* od
* paste
* ptx
* pr
* sha1sum
* shuf
* sort
* split
* sum
* tac
* tail
* tr
* tsort
* unexpand
* uniq
* wc

Shell utilities|

* arch
* basename
* chroot
* date
* dirname
* du
* echo
* env
* expr
* factor
* false
* groups
* hostid
* id
* link
* logname
* nice
* nohup
* nproc
* pathchk
* pinky
* printenv
* printf
* pwd
* readlink
* runcon
* seq
* sleep
* stat
* stdbuf
* stty
* tee
* test
* timeout
* true
* tty
* uname
* unlink
* uptime
* users
* who
* whoami
* yes

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template