首页 > 其他分享 >unix中标准输入、标准输出、标准错误是什么?

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

时间:2024-07-26 17:27:09浏览次数:15  
标签:输出 程序 标准 unix 终端 IO 输入

一、前言

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

二、什么是标准IO

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

参考资料:

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

标签:输出,程序,标准,unix,终端,IO,输入
From: https://blog.csdn.net/weixin_48344581/article/details/140720972

相关文章

  • 电路输入电阻
    输入电阻概念:从放大电路输入端看进去的等效电阻计算方法(四种情况)1.对于无源网络,输入电阻Rin=u/i(两端电压与流入电流相除)2.对于有源网络,将有源网络中的独立电压源变成串联的,将独立电流源变成开路的(即为有源化无源)  也就是独立源置零(电流源短路,电压源短路(......
  • 《DNK210使用指南 -CanMV版 V1.0》第十四章 按键输入实验
    第十四章按键输入实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点原......
  • C++ primer plus 第16章string 类和标准模板库, 函数符概念
    C++primerplus第16章string类和标准模板库,函数符概念C++primerplus第16章string类和标准模板库,函数符概念文章目录C++primerplus第16章string类和标准模板库,函数符概念16.5.1函数符概念程序清单16.15functor.cpp16.5.1函数符概念正如STL定......
  • C++ primer plus 第16章string 类和标准模板库, 函数对象
    C++primerplus第16章string类和标准模板库,函数对象C++primerplus第16章string类和标准模板库,函数对象文章目录C++primerplus第16章string类和标准模板库,函数对象16.5函数对象16.5函数对象很多STL算法都使用函数对象–也叫函数符(fiunctor)。......
  • 终端输入mvn -v报错:JAVA_HOME not found in your environment.
    终端输入mvn-v报错:JAVA_HOMEnotfoundinyourenvironment.       原因在于jdk环境变量未配置好。环境变量设置有如下两种方法:1、右键我的电脑-->属性-->高级系统设置-->环境变量-->系统变量-->双击Path-->点击新建-->输入jdk本地路径(如:D:\Tools\jdk1.8.0_121\bin)-......
  • 像素值与 2D NPS 的标准差 - NPS 的总和还是平均值?
    我正在尝试根据Python中的2DNPS估计空间域中像素值的SD。我希望需要NPS值的总和除以像素总数。然而,我只能通过平均值除以像素总数来达到正确的估计。任何人都可以指出我为什么会这样吗?请参阅下面的代码示例。“SUM:“importnumpyasnpfromscipy.ff......
  • 哪种 python 日志记录风格是推荐的或标准的?
    我是Python新手。介于以下2个选项之间。对于python来说,推荐哪种风格或者更好?logging.info(f"Won'tsavemodelasscoreisbelow0,score:{score}")logging.info("Won'tsavemodelasscoreisbelow0,score%s",score)我个人更喜欢第二种方法。在Python......
  • 前端Vue自定义支付密码输入框键盘与设置弹框组件的设计与实现
    摘要随着信息技术的不断发展,前端开发的复杂性日益加剧。传统的开发方式,即将整个系统构建为一个庞大的整体应用,往往会导致开发效率低下和维护成本高昂。任何微小的改动或新功能的增加都可能引发对整个应用逻辑的广泛影响,这种“牵一发而动全身”的现象在开发过程中屡见不鲜。为......
  • 洛谷 模板 单源最短路径(标准版)
    原题p4779题目背景2018年7月19日,某位同学在 NOIDay1T1归程 一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100→60;Ag→Cu;最终,他因此没能与理想的大学达成契约。小F衷心祝愿大家不再重蹈覆辙。题目描述给定一个 n 个点,m 条有向边的带非负......
  • 【unity实战】完美的2D横版平台跳跃玩家控制器,使用InputSystem+有限状态机实现人物加
    最终效果文章目录最终效果前言素材目录结构动画配置检测脚本状态机玩家有限状态机玩家控制脚本定义人物不同状态待机移动跳跃下落状态落地状态墙壁滑行状态蹬墙跳状态蹬墙跳下落状态一段近战攻击状态二段近战攻击状态冲锋状态土狼时间状态攀爬开始状态攀爬进行状态功能......