Linux中Shell重定向
Posted 入门小站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中Shell重定向相关的知识,希望对你有一定的参考价值。
&
是一个描述符,如果1或2前不加&,会被当成一个普通文件。>
默认为标准输出重定向,与1>
相同1>&2
意思是把标准输出重定向到标准错误.2>&1
意思是把标准错误输出重定向到标准输出。&>filename
意思是把标准输出和标准错误输出都重定向到文件filename中.>&2
即1>&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重定向的主要内容,如果未能解决你的问题,请参考以下文章