cat (short for “concatenate)
Create,view,concatenate,
cat [OPTION] [FILE]…
main advantage with just command
It will create file &writes data. unlike
nano &vim editors.
#1 viewing content of file with cat command
cat /etc/passwd
To view content of multiple files
cat file1.txt file2.txt
#2 creating a file with cat command
a. cat >test2
b. Type text.
c. Then press ctrl+d to exit
example
Create a new file with the stub_status configuration.
step 1
cat > conf.d/stub_status.conf
step 2 past the text
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
}
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
}
step 3 exit
«Ctrl-D»
Step 4 verify the text & file
ls -la conf.d/stub_status.conf && cat conf.d/stub_status.conf
#3 cat command reading file with line numbers & sorting
sorting
cat file1.txt | more
cat file2.txt | less
Display along with numbers of line
cat -n filename
Display $ at the End of every line with -e option
cat -e test
Multiple Files at Once (semi colons required)
cat file; cat file1; cat file2
#4 Overwriting existing file with cat command
cat file > file1
existing contents of file1 will be overwritten by contents of file file.
Appending(Standard Output with Redirection Operator)
cat file >> file1
contents of file file will be appended at the end of file1 file.
#5 appending at end of existing file with command ft ssh authorizedkeys
1st step we created public & private keys.
private key on local machine.
public key should be added to
./ssh/authorized_keys
we may copy & edit nano command save it.
nano ./ssh/authorized_keys
sometimes we generate in remote machine
cat publickey.pub >> ./ssh/authorized_keys
Redirecting Standard Input with Redirection Operator
cat < file2
Displays the file2 information on the terminal
#6creating single file from multiple files
cat file file1 file2 > file3
all data in 3 files will be create new file 3
#7 Sorting Contents of Multiple Files in a Single File
cat file file1 file2 file3 | sort > file4,
all the contents piped and sort and results will be an new file
#8 creating file & writing data cat eof to file
cat >/etc/nginx/sites-enabled/newserver.conf<<EOF
server {
listen 80;
root /var/www/html/;
server_name _;
include /etc/nginx/conf.d/global.config;
}
EOF
it will creates a file newserver.conf in the prescribed path.
2nd
it adds content to file with eof command in linux shell script.
EOF (end-of-file)
touch command only to create a file
touch newfile.txt
later you have to use vim or nano to edit.
Nano file editor
sudo nano newfile.conf
#configuration
#press ctrl+x and then y save changes.
Vim editor
sudo apt-get install vim
vim file.txt
Press i insert or edit,
press Esc and then :wq to save and exit.
e opens file
:W save
:q exit
:Wq to save changes and exit
:q! Exit without changes
0 to mive cursor to the first line
writting to files with echo command
to create a file
echo > phpinfo.php
or
echo > /var/www/html/phpinfo.php
write/print the words to document
echo “phpinfo();” > phpinfo.php