cat 命令-它会覆盖吗?

cat 命令-它会覆盖吗?

为了将一个文件的内容传递给另一个文件,我们可以例如:

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

假设我们需要附加更多的内容到authorized_keys,但我们不想覆盖它。

我们是否应该再次使用 cat 来获取下一个密钥?或者我们应该使用一些特定的东西来标记?

提前致谢。

答案1

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

~/temp_minhakey.pub将的内容附加到~/.ssh/authorized_keys,不会覆盖它。这是安全的。

你可能会对覆盖文件的命令感到困惑>。下面的命令将覆写你的authorized_keys文件:

cat somefile > ~/.ssh/authorized_keys

答案2

该命令的最后一部分与 cat 无关;>> 是 shell 重定向,它将始终附加到您指定的任何目标文件。如果您改用 >,那么它将覆盖该文件。

还有几种其他的 shell 重定向,如果你了解它们是什么以及何时使用它们,你将在命令行上更有效率:

http://www.gnu.org/software/bash/manual/bashref.html#Redirections

相关内容