The cat command is very useful in Linux. It has three main functions related to manipulating text files: creating them, displaying them, and combining them.

RELATED: How to Quickly Create a Text File Using the Command Line in Linux

We’ve discussed using the cat command (among others) to create and view text files on the command line in Linux.聽But let’s assume you have three text files: file1.txt, file2.txt, and file3.txt. You want to聽combine (or concatenate) them into one text file containing information from all three, in that order. You can do this with the cat command as well.

Simply open a Terminal and type the following command:

cat file1.txt file2.txt file3.txt

Obviously, replace the file names in the above example with your own.

The combined contents of the three text files will appear in your terminal.

RELATED: Become a Linux Terminal Power User With These 8 Tricks

Typically, though, you’ll probably want to combine those text files into another text file, not just print the results to the screen. Luckily, this is very simple. All you need to do is add an output redirection symbol (>) after the list of files being concatenated, and then specify the name of the final text file.

cat file1.txt file2.txt file3.txt > file4.txt

NOTE: The file listed after the output redirection symbol will be overwritten, if it already exists. So, be careful when specifying the name of the combined text file. We’ll show you later in this article how to append files to the end of an existing file.


If you open聽file4.txt (either with the cat command or with the text editor of your choice), you should find that it contains the text of the first three text files.

If you’re combining lists of items from multiple files and you want them alphabetized in the combined file, you can sort the combined items in the resulting file. To do this, enter the basic cat command we previously showed you followed by the pipe command (|) and the sort command. Then, type the output redirection symbol (>) followed by the name of the file into which you want to copy the combined text. All the lines of text in the result file will be sorted alphabetically.

cat file1.txt file2.txt file3.txt | sort > file4.txt

As we mentioned earlier, there is also a way append files to the end of an existing file. Type the cat command followed by the file or files you want to add to the end of an existing file. Then, type two output redirection symbols (>>) followed by the name of the existing file you want to add to.

cat file5.txt >> file4.txt

If you want to add a bit of new text to an existing text file, you聽use the cat command to do it directly from聽the command line (instead of opening it in a text editor). Type the cat command followed by the double output redirection symbol (>>) and the name of the file you want to add text to.

cat >> file4.txt

A cursor will appear聽on the next line below the prompt. Start typing the text you want to add to the file. When you’re done, press Enter after the last line and then press Ctrl+D to copy that text to the end of the file and quit cat.

RELATED: How to Get Help With a Command from the Linux Terminal: 8 Tricks for Beginners & Pros Alike

If you end up with a very long file once you combine your text files, you can use the pipe symbol with the less command when viewing the file in the Terminal window. For example, cat file4.txt | less. We discuss using the less command in this article.

Linux Commands
Files tar pv cat tac chmod grepdiff sed ar man pushd popd fsck testdisk seq fd pandoc cd $PATH awk join jq fold uniq journalctl tail stat ls fstab echo less chgrp chown rev look strings type rename zip unzip mount umount install fdisk mkfs rm rmdir rsync df gpg vi nano mkdir du ln patch convert rclone shred srm
Processes alias screen top nice renice progress strace systemd tmux chsh history at batch free which dmesg chfn usermod ps chroot xargs tty pinky lsof vmstat timeout wall yes kill sleep sudo su time groupadd usermod groups lshw shutdown reboot halt poweroff passwd lscpu crontab date bg fg
Networking netstat ping traceroute ip ss whois fail2ban bmon dig finger nmap ftp curl wget who whoami w iptables ssh-keygenufw

RELATED:Best Linux Laptops for Developers and Enthusiasts

Profile Photo for Lori Kaufman Lori Kaufman
Lori Kaufman is a technology expert with 25 years of experience. She's been a senior technical writer, worked as a programmer, and has even run her own multi-location business.
Read Full Bio 禄

The above article may contain affiliate links, which help support How-To Geek.