Linux下Bash的数据流重导向,stdin,stdout,stderr

来源:互联网 发布:电脑网络技术培训 编辑:程序博客网 时间:2024/05/01 02:05

标准输入            stdin:    代码0,使用<或<<

标准输出            stdout: 代码1,使用>或>>      1>  1>>

标准错误输出    stderr   代码2,使用2>或2>>

1个尖括号为覆盖,2个尖括号为累加


输出的意思就是将原本要输出到屏幕上的东西输出到文件或者设备上

例:

ll  ~  >  ~/rootfile     屏幕不输出信息,而是将信息输出到了文件中

> a  创建一个长度为0的文件a


标准输出和标准错误输出的理解

1>:    以覆盖的方式将正确数据输出到指定的文件或设备上

1>>:  以累加的方式将正确数据输出到指定的文件或设备上

2>:    以覆盖的方式将错误数据输出到指定的文件或设备上

2>>:  以累加的方式将错误数据输出到指定的文件或设备上


将正确信息错误信息输出的方法

find  /home  -name  .bashrc  >  rightfile  2>  errorfile

就是同时指定正确和错误时的输出文档


垃圾桶黑洞/dev/null

/dev/null可以干掉任何扔到这个装置的信息

find  /home  -name  .bashrc  2>  /dev/null


将正确错误信息写入同一文件中

find  /home  -name  .bashrc  >  list  2>&1

find  /home  -name  .bashrc  &>  list


标准输入:将原本需要由键盘输入的数据改由文件内容来取代

<号

cat  >  catfile  <  ~/.bashrc

cat  < ~/.bashrc  > catfile   (和上面一个效果)

将.bashrc的内容作为输入源,输出到catfile文件中去

这个写法和cp一样


<<表示结束的输入字符

cat   >   carfile  <<  "eof"表示键盘输入eof时输入结束




原创粉丝点击