Linux / Unix: Use Cat Command To Append Data To a File

last updated in Categories , ,

I am a new Unix user. I have Debian Linux installed. I need to append text to a file called daily.log. How do I use the cat command to append data to a file?

You can use the cat command to append data or text to a file. The cat command can also append binary data. The main purpose of the cat command is to display data on screen (stdout) or concatenate files under Linux or Unix like operating systems. To append a single line you can use the echo or printf command.


Redirection symbol


The syntax is:

cat file >> file2
echo 'text to append' >> file2
printf "text to append\n" >> fileName


Create a text file called foo.txt, type:

cat > foo.txt
This is a test.
I like Unix operating systems.

To save the changes press CTRL-d i.e. press and hold CTRL and press d. Create another text file called bar.txt as follows:

echo 'For desktop usage I prefer Apple OS X unix operating systems.' > bar.txt

Display both files on sceen, enter:

cat foo.txt
cat bar.txt

To append a contains of bar.txt to to foo.txt, enter:

cat bar.txt >> foo.txt
cat foo.txt

To append a ‘Use unix or die’ text to foo.txt file, enter:

echo 'Use unix or die' >> foo.txt
cat foo.txt

Sample outputs:

Fig.01: Using the cat and echo command to append a text to a file.
Fig.01: Using the cat and echo command to append a text to a file.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

10 comment

  1. when i execute two commands like echo $val(nn) > t.txt and awk -f throughput.awk >t.txt
    i want the file t.txt to have two columns side by side leaving a tab or space in between. but i m getting output like this


    pls help in this regard…thanks

    1. I’m not sure I understood your query. To merge corresponding or subsequent lines of files try paste command.

  2. Hi,

    plz help me for below req.

    I want to remove common numbers from two files.

    ex: In file1 numbers are 1,2,3,4 and In file2 are 1,2,3,4,5,6,7,8,9,10.

    I need a out like 5,6,7,8,9,10….
    Plz help me
    Thx in advances….

  3. Cat text >> file
    does not work if text is a directory name. Pitty as this would be a nice way to collect usefull paths in a file

  4. sudo echo 'deb trusty-pgdg main 9.5' /etc/apt/sources.list.d/postgresql.list

    Not working in ubuntu. Its saying Permission denied

    1. echo 'deb trusty-pgdg main 9.5' | sudo /etc/apt/sources.list.d/postgresql.list

  5. I want to edit an existing file by adding few text in after particular content in an xml file. How can we do this.

    Still, have a question? Get help on our forum!