Linux中Shell重定向

Posted 入门小站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中Shell重定向相关的知识,希望对你有一定的参考价值。

  • & 是一个描述符,如果1或2前不加&,会被当成一个普通文件。
  • > 默认为标准输出重定向,与 1> 相同
  • 1>&2 意思是把标准输出重定向到标准错误.
  • 2>&1 意思是把标准错误输出重定向到标准输出。
  • &>filename 意思是把标准输出和标准错误输出都重定向到文件filename中.
  • >&21>&2也就是把结果输出到和标准错误一样

标准输出和错误输出

> ls
rumenz.txt

> ls rumenz.txt 1.txt
ls: 1.txt: No such file or directory
rumenz.txt
  • 由于1.txt不存在,所以ls: 1.txt: No such file or directory就是错误输出就是2。
  • rumenz.txt文件是存在的,所以rumenz.txt就是标准输出。就是1。

把上述的标准输出和错误输出重定向到文件

> ls rumenz.txt 1.txt 1>out.log 2>err.log
> cat out.log
rumenz.txt
> rumenz cat err.log
ls: 1.txt: No such file or directory
  • out.log存的是标准输出
  • err.log存的是错误输出

案例分析

> ls rumenz.txt 1.txt > out.txt
ls: 1.txt: No such file or directory
> cat out.txt
rumenz.txt
> ls rumenz.txt 1.txt > out.log 1>&2
ls: cannot access 1.txt: No such file or directory
rumenz.txt
> cat out.log
> ls rumenz.txt 1.txt > out.txt 2>&1
> cat out.txt 
ls: cannot access 1.txt: No such file or directory
rumenz.txt

/dev/null

> rm -f $(find / -name rumenz) &> /dev/null

原文链接:https://rumenz.com/rumenbiji/linux-shell-redirect.html
微信公众号:入门小站

以上是关于Linux中Shell重定向的主要内容,如果未能解决你的问题,请参考以下文章

linux shell脚本编程笔记: 重定向

18 shell 重定向以及文件描述符

shell中的重定向(输入输出)

Linux管道及重定向

Linux shell之重定向

Linux中Shell重定向