How to Use the Cat Command in Linux
Understand the 'cat' command in Linux more. This guide offers insights into viewing, creating, and concentrating files, ensuring you leverage its full potential.
The cat
command, short for “concatenate,” is a commonly-used tool in Linux, enabling users to view, create, and concentrate files, or redirect their output. In this post, we’ll explore how both new and experienced Linux users can leverage the cat
command for various tasks.
The general syntax of the cat
command is as follow:
$ cat [OPTION] [FILE]...
1. Use cat
to create a new file and add content
cat > filename
Example:
The command cat > vegetables.txt
takes the standard input and redirects it to a file named “vegetables.txt”. When you execute this command, your terminal doesn’t display any output, but instead waits for you to enter text from the keyboard.
Whatever you type will be written to “vegetables.txt”. To finish and save the file, you’ll need to press CTRL-D
(or CTRL-Z
on Windows systems using some terminal applications).
Here’s an example of how you might use it:
$ cat > vegetables.txt Carrot Broccoli Spinach ^D
At this point, a file named “vegetables.txt” would be created with the following content:
Carrot Broccoli Spinach
2. Display file’s content with cat
cat filename
Example:
Assume the file contains a list of common vegetables; executing the command cat vegetables.txt
would display the contents of the file in the terminal.
Carrots Broccoli Spinach Tomatoes Cucumbers Peppers Onions Potatoes Kale Lettuce
3. Display content of multiple files with cat
cat filename_1 filename_2
Example:
Assuming the contents of the files fruits.txt and vegetables.txt are respectively as follows:
Apple Banana Cherry
Carrot Lettuce Tomato
The command cat fruits.txt vegetables.txt
would produce:
Apple Banana Cherry Carrot Lettuce Tomato
4. Display content with line numbering with cat
cat -n filename
Example:
If the contents of fruits.txt
are the same as in the previous example:
Apple Banana Cherry
Then the command cat -n fruits.txt
would produce:
1 Apple 2 Banana 3 Cherry
5. Copy, replace, or replicate a file’s content using cat
cat filename new_filename
Example:
The command cat fruits.txt > new_fruits.txt
will take the contents of fruits.txt
and write them into a new file named new_fruits.txt
. This command won’t display any output to the terminal, assuming it executes successfully.
If fruits.txt
has the same content as before:
Apple Banana Cherry
After running the command, the content of new_fruits.txt
will be:
Apple Banana Cherry
6. Merge multiple files’ content into one with cat
cat filename_1 filename_2 > filename_3
Example:
The command cat fruits.txt vegetable.txt > grocery.txt
will concatenate the contents of fruits.txt
and vegetable.txt
, then redirect the output to a file called grocery.txt
. If either of the input files doesn’t exist, an error message will be displayed in the terminal, but you won’t see the concatenated contents in the terminal because they are being redirected to grocery.txt
.
Suppose fruits.txt
contains:
Apple Banana Cherry
And vegetable.txt
contains:
Carrot Lettuce Tomato
After running the command, the terminal won’t show any output (unless there’s an error), but the file grocery.txt
will contain:
Apple Banana Cherry Carrot Lettuce Tomato
If vegetable.txt
was misspelled or doesn’t exist, you would see an error in the terminal similar to:
cat: vegetable.txt: No such file or directory
More Linux commands:
Directory Operations | rmdir · cd · pwd · exa · ls |
File Operations | cat · cp · dd · less · touch · ln · rename · more · head |
File System Operations | chown · mkfs · locate |
Networking | ping · curl · wget · iptables · mtr |
Search and Text Processing | find · grep · sed · whatis · ripgrep · fd · tldr |
System Information and Management | env · history · top · who · htop · glances · lsof |
User and Session Management | screen · su · sudo · open |