Linux中Shell重定向

枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述Linux中Shell重定向相关的知识,希望能为你提供帮助。

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

文章图片


    推荐阅读