4-3 标准输入输出
Posted kjalbert
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-3 标准输入输出相关的知识,希望对你有一定的参考价值。
标准输入输出
程序本身都是由指令+数据构成
读入数据:Input
输出数据:Output
打开的文件都有一个fd:file descriptor(文件描述符)文件描述符:查看程序tail的文件描述符 ll /proc/pidof tail
/fd
Linux给程序提供三种I/O设备
- 标准输入(STDIN(standard input))-0 默认接受来自终端窗口的输入
- 标准输出(STDOUT)-1 默认输出到终端窗口
- 标准错误(STDERR)-2 默认输出到终端窗口
I/O重定向:改变默认位置
把输出和错误重新定向到文件
STDOUT和STDERR可以被重定向到文件
命令 操作符号 文件名
支持的操作符号包括:
- > 把STDOUT重定向到文件
- 2> 把STDERR重定向到文件
- &> 把所有输出重定向到文件
- >:文件内容会被覆盖
- set -C:禁止将内容覆盖已有文件,但可追加
- >|:强制覆盖
- set +C:允许覆盖
- >>:原有基础上,追加内容
- 2>:覆盖重定向错误输出数据流
- 2>>:追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置
COMMAND > /PATH/TO/FILE.OUT 2> /PATH/TO/ERROR.OUT
合并标准输出和错误输出为同一个数据流进行重定向
&> 覆盖重定向
&>> 追加重定向
COMMAND> /PATH/TO/FILE.OUT 2&>1(顺序不能乱,因为如果把2&>1写在前面,1现在是输出到屏幕,所以结果是2输出到屏幕,1输出到文件)
COMMAND>> /PATH/TO/FILE.OUT 2&>1
():合并多个程序的STDOUT
例如:(cal 2007;cal 2008)>all.txt
以上是关于4-3 标准输入输出的主要内容,如果未能解决你的问题,请参考以下文章