Head Command in Linux with Examples

Head Command in Linux

In the world of Linux, the head command is a powerful tool for quickly viewing the beginning of a file or the output of another command. Whether you’re a seasoned Linux user or just starting your journey, mastering the head command can greatly enhance your ability to analyze and manage data efficiently. This article will dive deep into the head command, exploring its basic and advanced usage, common use cases, and troubleshooting tips, all while providing practical examples to help you get the most out of this essential Linux utility.

What is the Head Command in Linux?

The head command in Linux is a utility that displays the first few lines of a specified file or the output of another command. By default, it displays the first 10 lines, but you can easily modify this behavior using various options. The head command is often compared to its counterpart, the tail command, which displays the last few lines of a file or output.

The basic syntax for using the head command is:

head [options] [file(s)]

You can specify one or more files as arguments, and the head command will display the beginning of each file. If no file is specified, head reads from standard input.

Basic Usage of the Head Command

To use the head command with its default settings, simply type “head” followed by the file name or command output you want to view. For example:

head sample.txt

This will display the first 10 lines of the file “sample.txt“.

If you want to specify the number of lines to display, you can use the -n option followed by the desired number of lines. For instance:

head -n 5 sample.txt

This will display the first 5 lines of “sample.txt“.

You can also use the -c option to specify the number of bytes (characters) to display instead of lines. For example:

head -c 50 sample.txt

This will display the first 50 bytes (characters) of “sample.txt“.

Advanced Usage of the Head Command

The head command offers several options to enhance its functionality:

  • -q or –quiet: Suppresses the file name header when multiple files are specified.
  • -v or –verbose: Always displays the file name header, even when only one file is specified.
  • -z or –zero-terminated: Uses NUL as the record separator instead of newline.

Here are some examples of using these options:

head -n 15 file1.txt file2.txt  # Displays the first 15 lines of both file1.txt and file2.txt
head -q -n 20 *.txt             # Displays the first 20 lines of all .txt files in the current directory without file name headers
head -v -n 25 sample.txt        # Displays the file name header and the first 25 lines of sample.txt

You can also use head in combination with other commands using pipes. For instance:

cat large_file.txt | head -n 100  # Displays the first 100 lines of large_file.txt
grep "error" log.txt | head -n 5  # Displays the first 5 lines of log.txt that contain the word "error"

Common Use Cases for the Head Command

The head command is versatile and can be used in various scenarios. Here are some common use cases:

Viewing the Beginning of Large Files

When dealing with large files, it’s often helpful to quickly view the beginning of the file to get an idea of its contents. The head command is perfect for this task, as it allows you to view the first few lines without having to open the entire file.

Inspecting Log Files

Log files can be crucial for troubleshooting and monitoring system activity. The head command is commonly used to inspect the beginning of log files, which can help identify recent issues or errors.

Analyzing Data Files

Many data files, such as CSV or TSV files, can be quickly analyzed using the head command. By viewing the first few lines of the file, you can get an idea of the file’s structure and contents, which can be helpful when working with large datasets.

Troubleshooting Common Issues with Head

While the head command is generally straightforward to use, there are a few common issues you may encounter:

Handling Large Files and Performance Issues

When working with very large files, the head command may take some time to display the output. If you encounter performance issues, try using the -c option to specify a smaller number of bytes or lines to display.

Dealing with Non-Text Files

The head command is designed to work with text files. If you try to use it with binary files or other non-text files, you may encounter unexpected output or errors. In such cases, it’s best to use a different tool or command that is more suitable for the file type you’re working with.


The head command is a versatile and essential tool for Linux users who need to quickly view the beginning of files or command output. By mastering its basic and advanced usage, you can streamline your data analysis and file management tasks. Remember to experiment with different options and combinations to find the most effective way to use the head command in your specific scenarios.


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button