Linux中重定向符>和>>的使用

2013-06-21

今天可是差点出大问题啊,就出在这平常没注意的重定向符的问题上

因为常用的工作目录太长,所以想建一个变量到.bashrc里去,所以一个不小心按平常的写法写成了以下形式

echo WORKPATH=$(pwd) > ~/.bashrc

结果是.bashrc里只剩下这一行东西了,这一下就吓出翔来了,幸好另一台虚拟机上的.bashrc尚有用,另外之前配置P4时候的文档还有记录,于是只好一步步手工的复原了。

其实只要注意一小点咯,将上述的命令改为:

echo WORKPATH=$(pwd) >> ~/.bashrc

结果就完全不一样了,如愿的在.bashrc中添加了一行变量。

注意重定向符号>是覆盖写的(rewrite),而>>符号是添加的(append)模式,以后万望注意两点

另外diff命令 -r选项固然可以递归的把子目录的也diff了,但如果有什么想选取的diff和patch,那么在最后使用>>从而代替>可能会有更好的效果