Concatenate or simply cat is very useful command in Linux and Unix systems. Cat has the ability to create files, concatenate files or redirect output. In this tutorial, we will look at different useful examples for daily usage for system administrators.
Syntax of Linux cat command is standard as most of the Linux tools.
cat [OPTION]... [FILE]...
Man and Help
Man page can get like below. As we can see
cat command provides a lot of features.
$ man cat
The most popular way to use cat command is printing contents of a file.
cat command will read given file line by line and print to the terminal or shell accordingly. In this example, we will print file named
myshell.sh which is a bash script.
$ cat myshell.sh
Print Content of Multiple Files
cat command accepts multiple parameters like the file name to print all contents of provided files. In this example, we will print file contents named
myscan in a row.
$ cat myshell.sh myscan
An empty file will be created when cat output is directed to the file name like below. After redirect control character should be sent to close the file.
$ cat > new_file
Use With More and Less Commands
While working more than one text file with more or less commands cat provides a practical solution to pipe all files contents.
$ cat myshell.sh myscan | less
Display Line Numbers
While printing file contents with cat the line numbers can be shown to direct line specification. If we need specific line numbers it will be very helpful especially using with
grep command. We will use
-n as an option to enable line number printing.
$ cat -n myshell.sh
Display $ as End Of Line
If we want to put delimiter at the end of each line we can use
-e option. This will put
$ to the end of each line.
$ cat -e myshell.sh
Display Tab Separated Lines
There is also an option to separate tabbed lines with
-T parameter like below.
^| will be used as a tab sign to show as characters.
$ cat -T myshell.sh
Redirect With Cat
The redirect will be used to provide standard output content to the next command standard input. Cat prints file content and following file will get content of the previous file.
$ cat myshell.sh > yourshell.sh
Keep in mind this operation will overwrite all yourshell.sh content with new content
Append To File With Cat
While redirecting outputs previous content will be overwritten. to prevent overwrite and add new content to the existing content >> operator can be used.
$ cat myshell.sh >> yourshell.sh
Redirect Standard Input
Another useful usage of the cat command is redirecting standard input. Generally, the content of a file is the standard input.
$ cat < myshell.sh
Concatenate Multiple File Into One File
One of the funniest usage of the cat command is adding multiple files into a single file with a single shot.
$ cat myshell.sh yourshell.sh > ourshell.sh
Use With Sort
Using cat with sort command is another useful scenario. All content of files are piped to the sort and sort will sort all content accordingly.
$ cat myshell.sh yourshell.sh | sort