4.9 将命令的输出追加到文件
>>
前面讲述了>
符号可以将输出从stdout重定向到文件。例如,可以非常容易地将date
命令的输出重定向到文件:
$ date
Mon Nov 21 21:33:58 CST 2005
$ date > hank_mobley.txt
$ cat hank_mobley.txt
Mon Nov 21 21:33:58 CST 2005
记住,使用>
重定向时,如果文件不存在,就会创建一个新文件;如果文件已经存在,则会覆盖已有的文件。但是,如果使用>>
来代替>
,就会把输出追加到指定文件的底部(如果文件不存在,就会创建它)。
$ cat hank_mobley.txt
Mon Nov 21 21:33:58 CST 2005
$ ls -1F Hank_Mobley/* >> hank_mobley.txt
$ cat hank_mobley.txt
Mon Nov 21 21:33:58 CST 2005
1958_Peckin'_Time/
1960_Roll_Call/
1960_Soul_Station/
1961_Workout/
1963_No_Room_For_Squares/
警告 慎用
>>
。如果无意间输成了>
,就不是追加,而是覆盖文件!