文件IO---标准输入、标准输出和标准错误

标准输入、标准输出和标准错误

标准输入(键盘输入) 对应文件描述符0
标准输出(输出到屏幕) 对应文件描述符1
标准错误(也是输出到屏幕) 对应文件描述符2

& 一般是表示产生一个子shell,即后台运行
但在这里的&是一个标志,是个规定,这个符号后面的数字代表一个文件描述符
&1 这表示标准输出
&2 标准错误输出
2>&1 将标准错误重定向到标准输出

  1. 每个进程都会默认打开3个文件描述符,即0、1、2。
    其中0代表标准输入流、1代表标准输出流、2代表标准错误流。通常标准输入流对应着键盘的设备文件、标准输出流和错误流对应着显示器的设备文件。
    在编程中通常使用宏STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO分别来代表0,1,2。
  2. 执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
  3. 文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。

最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应

0表示标准输入 1表示标准输出 2表示标准错误输出

>默认为标准输出重定向,与 1>相同

2>&1意思是把 标准错误输出重定向到标准输出.

&>file意思是把 标准输出 和 标准错误输出 都重定向到文件file中

2>&1 > file 把错误出定向到标准输出(此时标准输出为终端,所以输出到终端), 标准输出定位到文件

> file 2>&1 把标准输出定位到文件,错误输出到标准输出(此时标准输出指向文件,所以输出到文件)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值