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

本文介绍了Linux Bash中标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)的概念及其重定向操作,包括覆盖和累加方式。通过实例演示了如何将输出重定向到文件、设备,以及如何处理错误信息,如利用/dev/null作为垃圾桶。同时,文章讲解了如何使用<<进行键盘输入的替代。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标准输入            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时输入结束




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值