unix中标准输入、标准输出、标准错误是什么?

一、前言

作为程序员,肯定都听过标准IO这个概念,标准IO字面上指的是标准输入、标准输出以及标准错误。听起来让人感觉似懂非懂,本文就来讨论,究竟何为标准IO。

二、什么是标准IO

简单来说,标准输入就是程序数据的来源,标准输出就是程序默认输出结果的地方。
我们在终端执行程序的时候,程序中使用printf打印的日志都是输出到终端上的,大多数时候,也是通过终端往程序中输入数据的。
“一切皆文件”是unix系统的思想,每当运行一个新程序时,所有的shell都为其打开3个文件描述符,即标准输入、标准输出以及标准错误。相当于每次运行一个程序时,都会打开三个文件。如果不做特殊的处理,这三个描述符都链接向终端,所以我们往终端输入数据,最终会写到文件描述符对应的文件中,然后程序才能接收到。程序中的输出也是如此。
大多数shell都提供了一种方法,使任何一个或三个描述符都能重新定向到某个文件中。'<‘代表输入重定向,’>'代表输出重定向。
综上,对于每个执行中的程序来说,标准输入和标准输出默认是终端,但都可重定向到其他地方。

参考资料:

《UNIX环境高级编程(第3版) (史蒂文斯 (W.Richard Stevens) 拉戈 (Stephen A.Rago)) (Z-Library)》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值