Linux之输出重定向

>

输出到文件。如果指定的文件不存在,则创建文件;若存在则以覆盖原内容的方式输出到文件。如果输出为错误输出,则输出到文件失败,并显示错误输出。

如直接执行无执行权限的example.sh文件会报错说“Permission Denied”。这就是错误输出之例。

>>

输出到文件。如果指定的文件不存在,则创建文件;若存在则以从文件尾追加的方式输出到文件。

1>

标准输出到文件。如果输出为错误输出,则输出到文件失败,并显示错误输出。

2>

标准错误输出到文件。若输出为正常标准输出,则不将标准输出输出到文件,而是打印到屏幕。

综合演示:

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,得到了我们想要的结果。

演示:

猜你喜欢

转载自blog.csdn.net/qq_42131061/article/details/81176344