浅析Linux 重定向操作符 > 1> 2> >> 1>> 2>> >&1 >&2 | tee
Win系统与Linux系统都常用到重定向操作符,经常搭配echo命令使用。本篇算是整理学习一下Linux重定向操作符。
常用的是 > 重定向符 , 把前面输出的内容重定向到后边指定的位置。例如win系统中:
或者 >> 重定向追加内容到后边的位置,例如:
Linux Shell中常用的文件描述符:
- stdin(0): keyboard 键盘输入,并返回到前端; ---- 即为键盘输入到计算机中显示出来,比如下图 cat f1 f9 输入到前端。
- stdin(1): monitor 正确返回值,输出到前端; ---- 命令的正确返回结果, 比如cat f1的返回结果"hellooooo",是正常输出
- stdin(2): keyboard 错误返回值,输出到前端; -----命令的错误返回结果 , 比如cat f9的返回结果"没有那个..."是错误输出
=======
举个栗子, 将std2 error信息单独输出到文件 error.txt,正确信息输出到right.txt
与此类似,追加正确信息到right, 追加错误信息到error
追加正确信息, 覆盖错误信息,
使用&描述符。 1>&2, 将正确信息重定向到错误输出。 类似的, 2>&1将错误信息重定向到正确输出。
&>filename将所有输出重定向到filename文件。
举个栗子
类似:
注意,若不带描述符, 1>2 或者1 >> 2 会将2识别为一个文件, 而不是stdin输出。另外 > 与1> 是相同的意思和作用。 > 只是前面简写省去了1。
将error信息重定向到空地址,即为不保存error信息。
管道符与tee搭配使用:
上述的输出要么输出到文件里,要么输出到前端,无法同时输出到两个地方,这个可以使用tee命令实现。
tee -a 追加内容
tee输出到多个文件
tee用多了也就上手了, 同时它比较实用一下。还有些其他功能,篇幅原因暂不举栗子了。 谢谢。
==若帮到你了请点赞o( ̄▽ ̄)d我会写更多的=====End=====