What does echo with ">>" symbol do?

I've seen some command like

echo '* - nofile 65535' >> /etc/security/limits.conf

I know echo print something on the screen.

and limits.conf was a file in that /etc/security path.

But want does >> do here? it means something like 'to' or 'in'?


Solution 1:

>> redirects the output of the command on its left hand side to the end of the file on the right-hand side.

So,

echo '* - nofile 65535' >> /etc/security/limits.conf

will append * - nofile 65535 to the end of the /etc/security/limits.conf file, instead of printing * - nofile 65535 on the screen.

If you instead had

echo '* - nofile 65535' > /etc/security/limits.conf

(note the >> replaced by >), everything already present in /etc/security/limits.conf would have been replaced by * - nofile 65535, and not appended.

You may also like to read this question:

  • Difference between "redirection" and "piping"