cat command would be on your fingers without any restriction or hesitation if you are going to be a Linux user, In other words, you can say “cat command is most used command in Linux”. You must know the first basic syntax of cat command in Linux.
Generally, cat utility in Linux is used to display the content of the file. I can’t stop me to use cat command at the time to peep into the file.
It is not just used only for a single purpose to see the content of the file, but you can use the cat command to create a file in Linux. I will share the basic syntax of cat tool in Linux.
The basic syntax of cat command
Content Article:
- The basic syntax of cat command
- Use the cat command to create a file in Linux
- Use the cat command to add content in the file
- Use the cat command to display contents of File
- Display Line Numbers in File
- Display $ at the End of File
- Display Tab-separated Lines in File
- View Contents of Multiple Files by this command
- Copy content from one file to another
- Copy content of multiple files in a single file
- Sorting Contents of Multiple Files in a Single File
The basic syntax of cat command in Linux
We all must know about the basics fo cat command, you can use the man for displaying manual so you can know more about it.
Use the following syntax to know more:
$man cat
When you follow the above step, you will able to find out the basic syntax of cat command.
I am going to share with you, it is as follows:
cat [OPTION] [FILE]…
Use the cat command to create a file in Linux
Let’s start our first task, create a file in Linux by using cat command, It is a very simple option to perform this action:
Syntax as follows if you want to create a file inside the current working directory otherwise give the directory location where you want to create a file.
$cat > filename
$cat > /Path/to/directory/filename
I am going to create a file in the current directory in the first example and in the second example I will create a file inside /home/vijay/Documents
[vijay@localhost ~]$ ls Desktop Documents Downloads Music Pictures Public Templates Videos [vijay@localhost ~]$ cat file1 cat: file1: No such file or directory [vijay@localhost ~]$ cat >file1 This is the file 1 I want to add something in this file later [vijay@localhost ~]$
I the above example I have used “ls” command to see the content inside current directory.
Later I used “cat file1” to see the available content inside file1, but I got error result as you can see above.
Next I used command “cat >file1” Then I wrote 2 lines, You can write as long as you want. When you complete your writing Press “Ctrl +d” to save and exit.
Again you can use ls command
Use the cat command to add content in the file
You can use >> instead of > followed by the filename.
[vijay@localhost ~]$ cat >>file1 This is the second line in file1 this is the third line in file1 [vijay@localhost ~]$
I have added two lines again by using “cat>>file1” command. Pressed “Ctrl+d” to save and exit from file.
Use the cat command to display contents of File
As you saw “I have created a file and write some content”. But how will I check the content exist inside file1.
Yes, It is time to peep into file1. Here is the command:
$cat filename
[vijay@localhost ~]$ cat file1 This is the file 1 I want to add something in this file later This is the second line in file1 this is the third line in file1 [vijay@localhost ~]$
Display Line Numbers in File
I created a file with only 4 lines, but you can add multiple. Even you can imagine, a programing file has lots of lines. If you want to go on particular line, you must display the number of lines.
$ cat -n filename
[vijay@localhost ~]$ cat -n file1 1 This is the file 1 2 I want to add something in this file later 3 This is the second line in file1 4 this is the third line in file1 [vijay@localhost ~]$
I am going to show you another example:
[vijay@localhost ~]$ cat -n /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 4 adm:x:3:4:adm:/var/adm:/sbin/nologin 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10 operator:x:11:0:operator:/root:/sbin/nologin 11 games:x:12:100:games:/usr/games:/sbin/nologin 12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 13 nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin 14 dbus:x:81:81:System message bus:/:/sbin/nologin 15 systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin 16 systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin 17 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin 18 polkitd:x:998:996:User for polkitd:/:/sbin/nologin 19 geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin 20 rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin 21 pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin 22 qemu:x:107:107:qemu user:/:/sbin/nologin 23 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin 24 unbound:x:996:991:Unbound DNS resolver:/etc/unbound:/sbin/nologin 25 rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin 26 gluster:x:995:990:GlusterFS daemons:/run/gluster:/sbin/nologin 27 chrony:x:994:989::/var/lib/chrony:/sbin/nologin 28 libstoragemgmt:x:993:987:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin 29 pipewire:x:992:986:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin 30 saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin 31 setroubleshoot:x:990:985::/var/lib/setroubleshoot:/sbin/nologin 32 dnsmasq:x:984:984:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin 33 radvd:x:75:75:radvd user:/:/sbin/nologin 34 clevis:x:983:982:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin 35 cockpit-ws:x:982:980:User for cockpit-ws:/nonexisting:/sbin/nologin 36 sssd:x:981:979:User for sssd:/:/sbin/nologin 37 colord:x:980:978:User for colord:/var/lib/colord:/sbin/nologin 38 gdm:x:42:42::/var/lib/gdm:/sbin/nologin 39 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 40 gnome-initial-setup:x:979:977::/run/gnome-initial-setup/:/sbin/nologin 41 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 42 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 43 tcpdump:x:72:72::/:/sbin/nologin 44 vijay:x:1000:1000:Vijay Kumar:/home/vijay:/bin/bash 45 vboxadd:x:978:1::/var/run/vboxadd:/bin/false [vijay@localhost ~]$
Display $ at the End of File
Sometime, You are writing a long paragraph without hitting enter button.
$ sign will be displayed at the end of line as well as gap between two paragraphs
[vijay@localhost ~]$ cat >file2 Hi friends, how are you? Hey, I am fine. I hope you are doing well. How's your training and study going on? [vijay@localhost ~]$ cat -e file2 Hi friends, how are you?$ $ Hey, I am fine.$ I hope you are doing well.$ $ How's your training and study going on?$ $ [vijay@localhost ~]$
First, I have created a new file with name file2 by using cat command later I have displayed same file with $ end of line.
Display Tab-separated Lines in File
You can use cat command followed by “T” options to display tab seperated lines.
Syntax of cat command for displaying tab separated lines are below:
$cat -T filename
View Contents of Multiple Files by this command
Do you want to view multiple files at once? then this section is very useful.
You can use following command to view multiple files:
cat firstfilename; cat secondfilename; cat thirdfilename
[vijay@localhost ~]$ cat file1; cat file2 This is the file 1 I want to add something in this file later This is the second line in file1 this is the third line in file1 Hi friends, how are you? Hey, I am fine. I hope you are doing well. How's your training and study going on? [vijay@localhost ~]$
Copy content from one file to another
Cat command in linux is used to display content on the screen, it happend due standard output.
We can redirect standard output into file by using “>” character.
So you can copy one file to another file by using this command.
See the example below:
cat file1 > newfile1
[vijay@localhost ~]$ cat file1 >newfile1 [vijay@localhost ~]$ cat newfile1 This is the file 1 I want to add something in this file later This is the second line in file1 this is the third line in file1 [vijay@localhost ~]$
If you want to add content inside existing file then use “>>” operator followed by newfilename
$cat file1 >>newfilename
Copy content of multiple files in a single file
It is similar display multiple files first as output and redirect to another newfile2
$cat file1 file2; >newfile2
[vijay@localhost ~]$ cat file1 file2 >newfile2 [vijay@localhost ~]$ cat newfile2 This is the file 1 I want to add something in this file later This is the second line in file1 this is the third line in file1 Hi friends, how are you? Hey, I am fine. I hope you are doing well. How's your training and study going on? [vijay@localhost ~]$
Sorting Contents of Multiple Files in a Single File
You can use sort pipe operator to sort output of multiple file’s content.
Example:
$cat file1 file2 | sort >newfile3
[vijay@localhost ~]$ cat file1 file2 |sort >newfile3 [vijay@localhost ~]$ cat newfile3 Hey, I am fine. Hi friends, how are you? How's your training and study going on? I hope you are doing well. I want to add something in this file later This is the file 1 This is the second line in file1 this is the third line in file1 [vijay@localhost ~]$
Conclusion
This article shows the basic syntax of cat command in Linux that may help you to explore cat command. You have learnt using basic syntax of cat tool in Linux to create file and edit files.
As I have told you already You may refer man page of cat command if you want to know more options.
Please share it if you find this article useful through our comment box below