How to use the command "cat" (with examples)
The “cat” command is a utility in Unix-like operating systems that is used to concatenate files and print the contents of files. It is short for “concatenate”. It reads data from files and then writes it to the standard output.
Use case 1: Print the contents of a file to stdout
Code:
cat path/to/file
Motivation: This use case is helpful when you want to quickly view the contents of a file in the terminal.
Explanation:
cat
: The command itself.path/to/file
: The path to the file you want to view.
Example output: If the file contains the following content:
Hello, world!
This is a sample file.
The output would be:
Hello, world!
This is a sample file.
Use case 2: Concatenate several files into an output file
Code:
cat path/to/file1 path/to/file2 ... > path/to/output_file
Motivation: This use case is useful when you want to combine the contents of multiple files into a single file.
Explanation:
cat
: The command itself.path/to/file1 path/to/file2 ...
: The paths to the files you want to concatenate.>
: Redirects the concatenated output to the specified output file.path/to/output_file
: The path to the output file.
Example output: If the contents of file1 are:
This is file1.
And the contents of file2 are:
This is file2.
The output file would contain:
This is file1.
This is file2.
Use case 3: Append several files to an output file
Code:
cat path/to/file1 path/to/file2 ... >> path/to/output_file
Motivation: This use case is useful when you want to add the contents of multiple files to an existing file without overwriting its content.
Explanation:
cat
: The command itself.path/to/file1 path/to/file2 ...
: The paths to the files you want to append.>>
: Appends the output to the specified output file.path/to/output_file
: The path to the output file.
Example output: If the contents of file1 are:
This is file1.
And the contents of file2 are:
This is file2.
And the output file already contains:
Existing content.
The output file would contain:
Existing content.
This is file1.
This is file2.
Use case 4: Copy the contents of a file into an output file without buffering
Code:
cat -u /dev/tty12 > /dev/tty13
Motivation: This use case can be useful in certain situations, such as when you want to redirect the contents of one terminal device to another terminal device.
Explanation:
cat
: The command itself.-u
: Enables unbuffered output, which can be useful in certain scenarios./dev/tty12
: The input terminal device.>
: Redirects the output to the specified terminal device./dev/tty13
: The output terminal device.
Example output:
The contents of /dev/tty12
would be copied to /dev/tty13
without buffering.
Use case 5: Write stdin
to a file
Code:
cat - > path/to/file
Motivation: This use case is handy when you want to save the standard input (data entered in the terminal) into a file.
Explanation:
cat
: The command itself.-
: Specifies that the input should be read fromstdin
.>
: Redirects the output to the specified file.path/to/file
: The path to the output file.
Example output: If you type “Hello, world!” and press enter, the contents of the file would be:
Hello, world!
Conclusion:
The “cat” command is a versatile utility that allows you to concatenate files or print their contents. It provides several practical use cases, including viewing file contents, concatenating files, copying contents between terminal devices, and saving standard input to a file. By understanding these use cases, you can make the most out of this powerful command.