【3】標準入出力のリダイレクションとパイプ処理

3.1 標準出力のリダイレクション(>)

%command > file   (command [ls ?l, pwd, など]の実行結果をfileへ出力)

    追加モード(>>) 

%command >> file   (commandの実行結果を既存ファイルfileへ追加出力)

 

3.2 標準出力と標準エラー出力のリダイレクション(>&)

%command >& file   (commandの実行結果を、エラーメッセージも含めてfileへ出力)

例 %cc prog.c >& prog.err    (Cプログラムprog.cのコンパイル結果を、エラーメッセージも含めてファイルprog.errへ出力する)

     追加モード(>>&) 

 

3.3 標準入力のリダイレクション(<)

%command < file     (標準入力をキーボードからfileへ切り換える)

 

3.4 標準入力と標準出力の同時切り換え(<>)

%command < data.file > output.file     (ファイルdata.fileからインプットデータを入力後、commandを実行し、結果をファイルoutput.fileに出力する     )

 

3.5 コマンドの連続実行(;)

複数のコマンドをセミコロン";"で区切って、1行に記述することによって、左のコマンドから順番に連続実行される。

 

(例) %mkdir dir1 ; cd dir1 ; emacs    (カレントディレクトリに新たなディレクトリdir1を作成し、カレントディレクトリをそこに移し、

emacsを起動する)

 

3.6 コマンドのパイプライン実行(|)

パイプ(pipe)機能は、その前のコマンドの標準出力をその次のコマンドの標準入力に結合することを指示する。1行に複数個のパイプを指定する 

こともできる。

 %command1 | command2 | command3        [注意]  "|"のには標準出力へ出力を行うコマンドだけ置ける。

          "|"のには標準入力から入力を行うコマンドだけ置ける。

 

(例) %ls -la | more   (ls -laコマンドの出力が1画面に入らない場合に、出力をパイプによりmoreコマンドにわたす)

 

%ls -lt | cat -n  (ファイル作成日付順にファイル情報を詳細表示する。"ls -lt"コマンドの出力結果に行番号を付けて表示)

これは

  %ls -lt > tmp      

   %cat -n tmp     

   %rm tmp

  %ls -lt > tmp ; cat -n tmp ; rm tmp

よりすぐれている

 

TOPへ戻る