The Linux head
command prints the first lines of one or more files (or piped data) to standard output. By default, it shows the first 10 lines. However, head
provides several arguments you can use to modify the output.
Read on to learn how to use the head
command, its syntax, and options with easy-to-follow examples.

head Command in Linux Syntax
The syntax for using the head
command is:
You can run the command with or without additional options (arguments).
head Command Options
The head
command options allow you to modify the output and display the wanted amount of data. Each option has its short and long form, which you can add to the basic syntax.
They include:
Option | Long-Form | Description |
---|---|---|
-n | --lines | show the specified number of lines |
-c | --bytes | show the specified number of bytes |
-v | --verbose | show the file name tag |
-q | --quiet | don't separate the content of multiple files with a file name tag |
How to Use head Command in Linux
To demonstrate how to use the Linux head
command, let's create a sample file named example1.txt that contains 13 lines of text listing 13 U.S. states.
First, create and open the file:
Now, add the following content:
Save and exit the file (press Ctrl+X and then Y
to confirm). You can check the contents of the file using the cat
command:
With the sample file in place, you can run the head
command by typing:
The output lists the first 10 lines in the file, as in the image below.
Displaying Specific Number of Lines
By default, head
displays the first 10 lines.
To change the number of lines in the output, add the -n
(--lines
) argument before the file name:
For instance, to show the first 4 lines of example1.txt, run:
Displaying Specific Number of Bytes
Another option is to define the number of bytes in the output. To do so, use the -c
(--bytes
) argument:
Therefore, to see 20 bytes of output of the sample file, you would run the command:
Note: To find a list of all important Linux commands, check out our Linux Commands Cheat Sheet and save it for future reference.
Displaying the File Name Tag
To display the file name before outputting the first 10 lines, add the -v
(--verbose
) option:
For instance, to display the name tag along with the output of our sample file, run:
Displaying Multiple Files
You can also display the first lines of multiple files using a single command:
To see the first lines of files example1.txt and example2.txt, you would type:
The output displays the name of each file before listing the first 10 lines of output.
Additionally, you can modify the output of multiple files by adding other arguments. For example, to see the first four lines of each file, type:
Note: To compare multiple files and search for differences between them, use the Linux diff Command.
Redirecting Output to a Text File
You can redirect the output from the head
command to a text file (or log file) using the greater-than sign (>
). Instead of displaying the lines in standard output, they are placed into the wanted file.
If the specified file already exists, it will be overwritten. Otherwise, the command creates a new file under the specified name.
The syntax for redirecting output from the head
command is:
For instance, to redirect the first 10 lines of example1.txt to a file named output1.txt, you would run the command:
To check whether you successfully redirected the output, use the cat
command:
Using head with Pipeline
head
can be piped to one or more commands to modify the output:
For example, to list files in the /etc directory using the ls
command and print 10 entries, you would run the command:
Note: The ls
command lists information about directories and any type of files in the working directory. To learn how to use crucial ls
commands, check out 19 Crucial Linux ls Commands to Know.
Conclusion
The head
command allows you to see the initial lines of a file in standard output without opening a file. In this article you learned how to use this utility and its options.
To display the entire contents of one or more files, it is better to use the Linux cat command.