What Does Cat Do in Linux
Introduction
If you’re new to Linux or just curious about its commands, you might wonder, “What does cat do in Linux?” The cat command is one of the most basic yet powerful tools you’ll encounter. It’s used to display, combine, and create files quickly from the command line.
In this article, I’ll walk you through what cat does, how to use it, and some handy examples. Whether you want to read file contents or merge files, understanding cat will make your Linux experience smoother and more efficient.
What Is the Cat Command in Linux?
The cat command stands for “concatenate.” It’s a standard utility in Linux and Unix-like systems. Its primary role is to read files sequentially and output their contents to the terminal or another file.
Here’s what cat can do:
- Display the content of one or more files on the screen.
- Combine multiple files into one.
- Create new files by typing content directly.
- Append content to existing files.
Because it’s simple and fast, cat is often used in scripts and daily tasks to quickly view or manipulate text files.
How to Use Cat to Display File Contents
One of the most common uses of cat is to show the contents of a file. You just type cat followed by the filename.
cat filename.txt
This command prints the entire content of filename.txt to your terminal window. If the file is long, the output will scroll quickly, so you might want to use other commands like less for easier reading.
You can also display multiple files at once:
cat file1.txt file2.txt
This will print the contents of file1.txt followed immediately by file2.txt.
Useful Options for Displaying Files
cat -n filename.txt: Shows line numbers before each line.cat -b filename.txt: Numbers only non-empty lines.cat -E filename.txt: Displays$at the end of each line to mark line endings.
These options help when you want to analyze or debug text files.
Combining Files with Cat
cat is great for merging files. Suppose you have two text files and want to combine them into a new file.
cat file1.txt file2.txt > combined.txt
This command concatenates file1.txt and file2.txt and writes the result into combined.txt. If combined.txt exists, it will be overwritten.
To append content instead of overwriting, use:
cat file2.txt >> file1.txt
This adds the contents of file2.txt to the end of file1.txt.
Practical Uses for Combining Files
- Merging configuration files.
- Joining log files for analysis.
- Creating large text files from smaller parts.
Creating and Writing Files Using Cat
You can also create a new file and write content to it using cat. This is handy for quick notes or small scripts.
Run:
cat > newfile.txt
Then type your text. When you’re done, press Ctrl + D to save and exit.
If you want to append text to an existing file, use:
cat >> existingfile.txt
Again, type your content and press Ctrl + D to finish.
Viewing Special Characters and Formatting with Cat
Sometimes, you need to see hidden characters like tabs or line endings. cat has options for this:
cat -A filename.txt: Shows all special characters, including tabs (^I) and line ends ($).cat -T filename.txt: Displays tabs as^I.cat -v filename.txt: Makes non-printing characters visible.
These options are useful when debugging files with unusual formatting or invisible characters.
How Cat Works Behind the Scenes
When you run cat, it opens the file(s), reads the content, and writes it to standard output (your terminal). It processes files sequentially, which means it reads one file fully before moving to the next.
Because it’s a simple utility, cat is very fast and efficient. It doesn’t modify files unless you redirect output to a file, which overwrites or appends content.
Common Mistakes and How to Avoid Them
While cat is straightforward, some common mistakes can cause problems:
- Overwriting files unintentionally: Using
>redirects output and overwrites files. Always double-check your command before running. - Using cat on binary files:
catis designed for text files. Displaying binary files can produce unreadable output or mess up your terminal. - Ignoring large files: Using
caton very large files floods your terminal. Uselessorheadfor better control.
Alternatives to Cat for Viewing Files
While cat is great, sometimes other commands are better suited:
less: Lets you scroll through large files interactively.head: Shows the first few lines of a file.tail: Displays the last few lines, useful for logs.tac: Likecatbut outputs lines in reverse order.
Knowing when to use these tools alongside cat improves your command-line efficiency.
Examples of Cat in Real-World Linux Tasks
Here are some practical examples of how you might use cat:
Quickly check a config file:
cat /etc/hostsCombine multiple scripts into one:
cat script1.sh script2.sh > combined_script.shCreate a simple text file:
cat > todo.txt Buy groceries Call mom Ctrl + DView a file with line numbers:
cat -n notes.txt
These examples show how versatile cat is for everyday Linux use.
Conclusion
Now you know that the cat command in Linux is a simple but powerful tool for displaying, combining, and creating text files. It’s one of the first commands you should master because it helps you interact with files quickly and efficiently.
Whether you want to read a file, merge multiple files, or create new ones, cat makes these tasks easy. Just remember to use redirection carefully to avoid overwriting important data. With practice, you’ll find cat indispensable in your Linux toolkit.
FAQs
What does the cat command stand for in Linux?
cat stands for “concatenate.” It reads files sequentially and outputs their content, often used to display or combine files.
Can cat be used to create files?
Yes, by using cat > filename, you can type content directly into a new file and save it by pressing Ctrl + D.
How do I add line numbers when displaying a file with cat?
Use the -n option like this: cat -n filename.txt to show line numbers before each line.
Is cat suitable for viewing large files?
Not always. For large files, commands like less or head are better because they allow easier navigation.
Can cat display hidden characters in a file?
Yes, options like -A or -v show special or non-printing characters, which helps in debugging file formatting.
