How to Use the cat Command in Linux

The cat command is one of the most widely used commands in Linux. The name of the cat command comes from its functionality to concatenate files. It can read, concatenate, and write file contents to the standard output. If no file is specified or the input file name is specified as a single hyphen (-), it reads from the standard input.
cat is most commonly used to display the contents of one or multiple text files, combine files by appending one file’s contents to the end of another file, and create new files.
In this article, we will show you how to use the cat command through practical examples.
cat Command Syntax
Before going into how to use the cat command, let’s start by reviewing the basic syntax.
The cat command syntax takes the following form:
cat [OPTIONS] [FILE_NAMES]OPTIONS-catoptions . Usecat --helpto view all available options.FILE_NAMES- Zero or more file names.
Displaying File Contents
The most basic and common usage of the cat command is to read the contents of files.
For example, the following command will display the contents of the /etc/issue file on the terminal:
cat /etc/issue
Redirect Contents of File
Instead of displaying the output to stdout (on the screen), you can redirect it to a file.
The following command will copy the contents of file1.txt to file2.txt using the (>) operator:
cat file1.txt > file2.txtcp
command to copy a file.If the file2.txt file doesn’t exist, the command will create it. Otherwise, it will overwrite the file.
Use the (>>) operator to append the contents
of file1.txt to file2.txt:
cat file1.txt >> file2.txtSame as before, if the file is not present, it will be created.
Print Line Numbers
To display contents of a file with line numbers, invoke cat with the -n option:
cat -n /etc/os-release1 NAME="Ubuntu"
2 VERSION="24.04 LTS (Noble Numbat)"
3 ID=ubuntu
4 VERSION_CODENAME=nobleSuppress Repeated Empty Lines
Use the -s option to omit the repeated empty output lines:
cat -s file.txtDisplay TAB characters
The -T option allows you to visually distinguish between tabs and spaces.
cat -T /etc/hosts127.0.0.1^Ilocalhost
127.0.1.1^IlinuxizeThe TAB characters will be displayed as ^I.
Display End of Lines
To display the invisible line ending character use the -e argument:
cat -e /etc/os-releaseNAME="Ubuntu"$
VERSION="24.04 LTS (Noble Numbat)"$
ID=ubuntu$
VERSION_CODENAME=noble$The line endings will be displayed as $.
Concatenating Files
When passing two or more file names as arguments to the cat command, the contents of the files will be concatenated. cat reads the files in the sequence given in its arguments and displays the file’s contents in the same sequence.
For example, the following command will read the contents of file1.txt and file2.txt and display the result in the terminal:
cat file1.txt file2.txtYou can concatenate two or more text files and write them to a file.
The following command will concatenate the contents of file1.txt and file2.txt and write them to a new file combinedfile.txt using the (>) operator:
cat file1.txt file2.txt > combinedfile.txtIf the combinedfile.txt file doesn’t exist, the command will create it. Otherwise, it will overwrite the file.
To concatenate the contents of file1.txt and file2.txt and append the result to combinedfile.txt, use the (>>) operator:
cat file1.txt file2.txt >> combinedfile.txtIf the file is not present, it will be created.
When concatenating files with cat, you can use the same arguments as shown in the previous section.
Creating Files
Creating small files with cat is often easier than opening a text editor such as nano
, Vim, Sublime Text
, or Visual Studio Code
.
To create a new file, use the cat command followed by the redirection operator (>) and the name of the file you want to create. Press Enter, type the text, and once you are done, press CTRL+D to save the file.
In the following example, we are creating a new file named file1.txt:
cat > file1.txtIf a file named file1.txt exists, it will be overwritten.
Use the >> operator to append the output to an existing file.
cat >> file1.txtUsing cat with Pipes
The cat command is often used in combination with other commands through pipes. For example, to display the contents of a file and search for a specific pattern, you can pipe cat to grep
:
cat /var/log/syslog | grep "error"To count the number of lines in a file:
cat file.txt | wc -lViewing Large Files
While cat is useful for small files, it’s not ideal for large files because it dumps all the content to the terminal at once.
For large files, consider using:
less- View file contents one screen at a time with scrollingmore- Similar tolessbut with fewer featureshead- Display the first lines of a filetail- Display the last lines of a file
less /var/log/syslog
head -20 file.txt
tail -50 file.txtPrint File in Reverse with tac
The tac command is the reverse of cat. It prints the file contents in reverse order, starting from the last line:
tac file.txtThis is useful when you want to view log files with the most recent entries first.
Quick Reference
| Command | Description |
|---|---|
cat file.txt | Display file contents |
cat -n file.txt | Display with line numbers |
cat -s file.txt | Suppress repeated empty lines |
cat file1 file2 | Concatenate multiple files |
cat file1 > file2 | Copy file contents |
cat file1 >> file2 | Append to file |
cat > file.txt | Create a new file |
tac file.txt | Display file in reverse |
For a printable quick reference, see the cat cheatsheet .
Conclusion
The cat command is used to display, concatenate, and create files in Linux. For viewing large files, use less
or head/tail instead.
Tags
Linuxize Weekly Newsletter
A quick weekly roundup of new tutorials, news, and tips.
About the authors

Dejan Panovski
Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.
View author page