输出重定向2018-10-26

是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用>,将日志文件清空(文件大小变成0字节)。

这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。(摘自:https://zhidao.baidu.com/question/274680094.html)

例如我们要将一个文件夹的内容保存到文本文件中去,也就是将ls命令打印出来的内容都写到文本中去可以这样:

ls -al >> a.txt

这样a.txt文件中就是ls命令打印出来的内容了。

另外解释一下命令 “ls >/dev/null 2>&1”

按照前面的解释可以知道将ls程序运行输出的结果重定向到/dev/null文件中去,后面的2 > &1有是什么意思呢?

这里有必要将上面的这个命令完整形式写出来:

ls 1 >/dev/null 2>&1

可以看出和原来命令的区别。先来说明一下,Linux系统中

0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)

所以1 > /dev/null 表示将1(标准输出)重定向到/dev/null文件,将2(标准错误输出)重定向到1。2>&1表示的是2的输出重定向等同于1 的输出重定向,也就是/dev/null文件。如果写成这种形式:

ls 1 >/dev/null 2>1

其实也能实现标准错误输出的重定向,但是重定向的位置不是标准输出,而是文件“1”,系统会创建一个文件“1”然后保存标准错误输出的信息。

作者:Mr_汤
来源:CSDN
原文:https://blog.csdn.net/tq384998430/article/details/72820943
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(输出重定向2018-10-26)