zoukankan      html  css  js  c++  java
  • 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重定向到文件
    • &> 把所有输出重定向到文件
    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

  • 相关阅读:
    Spring 总结
    分布式缓存Memcache
    Docker原理 -- namespace与CGroup
    JDK源码分析--Collections
    React生命周期总结
    【转】前端优化的35条
    http缓存与cdn相关技术
    跨域处理
    sequekize
    orm2
  • 原文地址:https://www.cnblogs.com/kjalbert/p/11594941.html
Copyright © 2011-2022 走看看