>
输出到文件。如果指定的文件不存在,则创建文件;若存在则以覆盖原内容的方式输出到文件。如果输出为错误输出,则输出到文件失败,并显示错误输出。
如直接执行无执行权限的example.sh文件会报错说“Permission Denied”。这就是错误输出之例。
>>
输出到文件。如果指定的文件不存在,则创建文件;若存在则以从文件尾追加的方式输出到文件。
1>
标准输出到文件。如果输出为错误输出,则输出到文件失败,并显示错误输出。
2>
标准错误输出到文件。若输出为正常标准输出,则不将标准输出输出到文件,而是打印到屏幕。
扫描二维码关注公众号,回复:
3053190 查看本文章
综合演示:
2>&1
将标准错误输出重定向到标准输出。意为标准输出与标准错误输出都将被输出到指定文件。
实例:在当前目录中无a.txt这个文件,有test.txt这个文件,执行下列命令
find a.txt test.txt
输出:
find: ‘a.txt’: No such file or directory
test.txt
其中第一行为错误输出,第二行为标准输出。
执行下列命令
find a.txt test.txt 2> error.txt
屏幕打印上面第二行内容(即标准输出的内容),第一行内容被重定向到了error.txt文件中
现在,想让两行内容都输出到log.txt.执行下列命令
find a.txt test.txt 1> log.txt 2>&1
cat一下log.txt,得到了我们想要的结果。
演示: