zoukankan      html  css  js  c++  java
  • 标准IO和重定向

    1、标准输入/输出/错误

    当shell启动,它继承三个文件:stdin、stdout、stderr,标准输入通常来自键盘,标准输出和标准错误通常是屏幕。
    标准输入/输出/错误的文件描述符为0、1、2

    2、重定向操作符

    <                    重定向输入

    <&                重定向输入,后接数字格式的文件描述符

    >                    重定向输出

    >>                  追加输出

    2>                  重定向错误

    &>                  重定向错误和输出,后接文件名

    >&                 重定向错误和输出,后接文件名或数字格式的文件描述符

    2>&1            重定向标准错误到标准输出 

    1>&2            重定向标准输出到标准错误

    >|                   重定向输出时覆盖noclobber,即如果文件存在直接覆盖文件

    <>filename  如果是一个设备文件,就把这个文件作为标准输入和标准输出

    3、例子

    1) 将标准错误重定向到文件
    $cc prog.c 2>errfile

    2) 将标准输出重定向到文件,标准错误重定向到空设备文件
    $cc prog.c >logfile 2>/dev/null

    3) 将标准输出和标准错误都定向到文件或文件描述符
    $cc prog.c &> logfile //必须是文件名
    $cc prog.c >& logfile //可以是文件名或数字格式的文件描述符
    $cc prog.c >& 1 //将标准输出和标准错误重定向到标准输出,标准输出的文件描述符为1

    4) 将标准输出重定向到文件,将标准错误重定向到标准输出定向的设备
    $cc prog.c >logfile 2>&1
    等效于
    $cc prog.c >& logfile 

    =-=-=-=-=
    Powered by Blogilo

  • 相关阅读:
    TO DO List
    springboot 热部署
    <dependencyManagement>的作用
    人体工程学座椅
    temp
    temp
    声明式编程和命令式编程的本质区别
    weak first question
    Spring依赖注入方式和依赖来源
    SpringBoot 整合 H2 数据库
  • 原文地址:https://www.cnblogs.com/pandachen/p/4592723.html
Copyright © 2011-2022 走看看