cat command - will it overwrite?

In order to pass the contents of one file to another we can, for example:

cat ~/temp_minhakey.pub >> ~/.ssh/authorized_keys

Let's say, we need to append more content to authorized_keys, but we don't want to overwrite it.

Should we use cat again for the next keys ? Or should we flag with something specific ?

Thanks in advance.

2 Answers

cat ~/temp_minhakey.pub >> ~/.ssh/authorized_keys

appends the contents of ~/temp_minhakey.pub to ~/.ssh/authorized_keys, it does not overwrite it. This is safe.

You might be confused with a single > which overwrites the file. The next command will overwrite your authorized_keys file:

cat somefile > ~/.ssh/authorized_keys
1

The last part of that command has nothing to do with cat; the >> is a shell redirect that will always append to whatever target file you are specifying. If you used > instead, then it would overwrite the file.

There are several other shell redirects, and you will be more productive on a command line if you learn what they all are and when to use them:

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like