You are here: >

Linux and Unix head command

head commandAbout head
head syntax
head examples
Related commands
Linux and Unix main page

About head

head makes it easy to output the first part of files.

Description

head, by default, prints the first 10 lines of each FILE to standard output. With more than one FILE, it precedes each set of output with a header identifying the file name. If no FILE is specified, or when FILE is specified as a dash ("-"), head reads from standard input.

head syntax

head [OPTION]... [FILE]...

Options

-c, --bytes=[-]num print the first num bytes of each file; with a leading '-', print all but the last num bytes of each file.
-n, --lines=[-]num print the first num lines instead of the first 10; with the leading '-', print all but the last num lines of each file.
-q, --quiet, --silent never print headers identifying file names.
-v, --verbose always print headers identifying file names.
--help display a help message and exit.
--version output version information and exit.

In the above options, num may have a multiplier suffix:

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.

head examples

 head myfile.txt

Display the first ten lines of myfile.txt.

head -15 myfile.txt

Display the first fifteen lines of myfile.txt.

 head myfile.txt myfile2.txt

Display the first ten lines of both myfile.txt and myfile2.txt, with a header before each that indicates the filename.

 head -n 5 myfile.txt myfile2.txt

Displays only the first 5 lines of both files.

 head -c 20 myfile.txt

Will output only the first twenty bytes (characters) of myfile.txt. Newlines count as a single character, so if head prints out a newline, it will count it as a byte.

 head -n 5K myfile.txt

Displays the first 5,000 lines of myfile.txt.

 head -c 6M myfile.txt

Displays the first six megabytes.

 head -

If a dash is specified for the filename, head reads from standard input rather than a regular file.

 head myfile.txt myfile2.txt -

Display the first ten lines of myfile.txt, myfile2.txt, and standard input.

 head -n 4 *.txt

Display the first four lines of every file in the working directory whose filename ends in the extension .txt.

 head -n 4 -q *.txt

Same as the previous command, but uses quiet (-q) output, which will not print a header before the lines of each individual file.

cat — Output the contents of a file.
more — Display text one screen at a time.
pg — Browse page by page through text files.
tail — Print the last lines of a text file.