运维开发网

4-3 标准输入输出

运维开发网 https://www.qedev.com 2020-07-17 13:21 出处:网络
标准输入输出 程序本身都是由指令+数据构成 读入数据:Input 输出数据:Output

标准输入输出

程序本身都是由指令+数据构成

读入数据: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重定向到文件

  • &> 把所有输出重定向到文件

  1. >:文件内容会被覆盖
    • set -C:禁止将内容覆盖已有文件,但可追加
    • >|:强制覆盖
    • set +C:允许覆盖
  2. >>:原有基础上,追加内容
  3. 2>:覆盖重定向错误输出数据流
  4. 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

0

精彩评论

暂无评论...
验证码 换一张
取 消