Linux之IO重定向

我们知道,当用open文件io打开文件时,系统会返回一个文件描述符fd,随后fd作为文件io操作的句柄对所有文件进行操作。实际上文件描述符表包含两个内容,一个是文件描述符,一个就是驱动程序表号,通过驱动程序表号找到相应系统驱动表的驱动接口。比如标准输入默认文件描述符为0,通过相应驱动程序表号比如flag可以找到系统驱动表的驱动接口gets、scanf等标准输入,其挂载的默认文件为键盘,因此实现了键盘输入对应标准输入接口。而重定向的含义是将当前文件的文件描述符对应上其他文件驱动程序表号的过程,比如文件tmp的文件描述符为3,将3指向驱动程序表号的flag,那么标准输入接口挂载的默认文件不再是键盘而是tmp文件。

驱动程序表号

Value(底层驱动xx_open()返回值)

 

 

 

 

 

 

2

 

 

 

 

 

 

 

总结:重定向的含义即改变当前文件描述符对应的驱动程序表号,从而实现调用另外文件对应的驱动接口的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值