bash学习记录(十四)linux中的IO

linux中的IO

分类

linux中总有三种文件,一种时stdin(标准输入),stdout(标准输出),stderr(标准错误),可以重定向这些和其他任意文件,重定向的目的就是可以将文件中的任意内容作为输出或者输出源。

正文

系统为每一个打开的文件分配一个文件描述符(FD),为标准输入stdin,标准输出stdout,标准错误stderr分别分配给0,1,2

简单输入输出:

1
2
3
4
5
echo "helloworld"  > newfile1
echo "helloworld" 1 > newfile1 #等同于第一句
echo "helloworld" 1 >> newfile1 #追加内容

command < newfile1 #标准输入 同理等同于cat 0 < newfile1

使用标准输出和标准错误输出

1
2
3
ls 2> newfile #将错误信息输出到newfile中
ls > newfile 2>1& #将标准输入和标准输出一起输出到newfile中
# 其中&表示和的关系

绑定重定向

1
2
3
4
5
ls >& m #把标准输出到文件描述符m中
ls < &- #关闭标准输入
n < &- #关闭输入文件描述符n
n > &- #关闭输出文件描述符n
1>&-, >&- # 关闭标准输出

其实在linux 下一切都是文件。把所有都想成文件就好理解的多了。

-------------本文结束感谢您的阅读-------------

本文标题:bash学习记录(十四)linux中的IO

文章作者:NanYin

发布时间:2018年07月01日 - 15:07

最后更新:2019年08月12日 - 13:08

原始链接:https://nanyiniu.github.io/2018/07/01/2018-07-01-bash_13_bash%E4%B8%AD%E7%9A%84%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。