標準I/Oリダイレクトとパイプ

1278 ワード

標準入出力


開いているファイルには、fd:file descriptor(ファイル記述子)Linuxがプログラムに3種類のI/Oデバイスを提供しています.
  • 標準入力(stdIN)-0デフォルトでは、端末ウィンドウからの入力
  • が受け付ける.
  • 標準出力(stdOUT)-1デフォルトはターミナルウィンドウ
  • に出力.
  • 標準エラー(stdERR)-2ターミナルウィンドウ
  • にデフォルトで出力.

    I/Oリダイレクトredirect


    I/Oリダイレクト:デフォルトの入力、出力またはエラーに対応するデバイスを変更し、新しいターゲットを指す

    標準出力とエラー再配向


    stdOUTおよびstdERRは、デフォルトの現在の端末でサポートされている操作記号ではなく、指定されたファイルにリダイレクトすることができる.
    1>または>stdOUTをファイルにリダイレクト
    2>stdERRをファイルにリダイレクト
    &>すべての出力をファイルにリダイレクト
    以上、ファイルが既に存在する場合は、ファイルの内容が上書きされます.
    set -C            ,    ,   >|       
    set +C     ,   

    追加>>は、既存のコンテンツに加えて、追加コンテンツを出力とエラーをファイルに再配向することができます.
    >>標準出力を追加してファイルにリダイレクト
    2>>標準エラーを追加してファイルにリダイレクト
    標準出力とエラー出力はそれぞれ異なる位置に固定されます
    COMMAND  > /path/to/file.out  2> /path/to/error.out

    標準出力とエラー出力を統合して同じデータストリームにリダイレクト&>リダイレクトの上書き&>>リダイレクトの追加
    COMMAND >   /path/to/file.out 2>&1
    COMMAND >>  /path/to/file.out 2>&1

    複数のプログラムのマージ

    標準入力リダイレクト


    現在の端末の入力デバイスの代わりに、ファイルからstdINをインポートし、<を使用して標準にリダイレクトし、ファイルからインポートしたstdINを受け入れるコマンドを入力します.
    trコマンド
    標準入力リダイレクト
    複数行のリダイレクト

    パイプ本