linux关于重定向的知识讲解
1.输出重定向的两种方式:
> 覆盖原文件内容
>> 追加写,不覆盖原文件内容
2.两种重定向
错误命令重定向 2> 或 2>> (错误命令重定向中 >或和>> 左右两边不能有空格)
正确命令重定向 > 或 >>
常用:
错误密令 + 正确命令 保存到同一个文件:
方法一: 命令 >> 文件 2>&1 (覆盖写时少个>)
方法二: 命令 &>> 文件 (覆盖写时少个>)
eg: ls /home/heyu >> access.log 2>&1
ls &> /home/heyu
错误命令 和 正确命令 保存到不同文件:
命令 >> 保存正确结果文件 2>> 保存错误结果文件
eg: cd fjladjflaj >> access.log 2>>error.log
Linux Shell 环境中的输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误。
1.重定向标准输出到文件:cat foo > foo.txt2.重定向标准错误到文件cat foo 2> foo.txt3.重定向标准输出到标准错误cat foo 1>&24.重定向标准错误到标准输出cat foo 2>&15.重定向标准输出,标准错误到同一个文件cat foo > foo.txt 2>&1或cat foo&> foo.txt这里第个顺序很重要,先把标准输出重定向到文件,再把标准错误输出到标准输出,因为标准输出已经重定向到文件,所以标准错误与重定向到文件。
ls 2>1 会输出一个空的文件1;
ls xxx 2>1 没有xxx这个文件的错误输出到文件1中;
ls xxx 2>&1 不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。