自宅サーバの活用(takechu) 


Front Page

構築前の準備
インストールCDの入手
とりあえずインストール
とりあえずカスタマイズ
o = o = = o = = o = o

o = o = = o = = o = o




標準入出力の付替え(1)
(リダイレクション)

前ページでは cat コマンドでテキストファイルを表示させました。例えばコマンド行 cat simple.txt は『ファイル simple.txt の内容をディスプレイ表示する』ものですが、これを少し変えて表現すると『ファイル simple.txt の内容を標準出力( stdout )に出力する』となります。ここで「標準出力」は「ディスプレイ」です。

実は cat コマンドは、「標準入力( stdin )」から得られたデータを「標準出力( stdout )」に送り出すという機能を実行するコマンドです。従って、コマンド行 cat simple.txt の場合、「標準入力」はコマンドの引数(ひきすう)として指定されたファイル simple.txt に割り付けられ、「標準出力」がディスプレイに割り付けられて動作するため、結果として「ファイルの内容を表示させる」ことができるのです。

cat コマンドの引数としてファイル名を指定しない場合、「標準入力」は「キーボード」に割り付けられ、「標準出力」は「ディスプレイ」に割り付けられます。

歴史的に「端末装置(ターミナル)」は「キーボード」と「ディスプレイ」で構成される単純な機能を利用者に提供する装置でした。そのような状況で cat コマンドは非常にシンプルな機能、すなわち「標準入力から得られたデータを標準出力に流し出す」というものでした。

次のように cat コマンドを発行した場合、キーボードからなにがしかの文字列を入力して行末に [Enter] キーを押すと、その文字列がそのまま次の行に表示され、この操作は「入力データの終り」をキーボード入力するまで続きます。

「入力データの終り」は [Ctrl]+[d] です。この [Ctrl]+[d] はキーボード上のコントロールキーを押したままの状態で [d] キーを押すというキー操作で入力されます。


taro@fsg5:~$
taro@fsg5:~$ cat
this is a sample test[Enter]
this is a sample test
Hello World ![Enter]
Hello World !
[Ctrl]+[d]   ←  ※「入力データの終り」を指示
taro@fsg5:~$



前ページでコマンド行 cat > simple.txt を挙げました。このコマンド行による動作は『標準入力から読み込まれたデータをファイル sample.txt に出力する』というものです。


taro@fsg5:~$
taro@fsg5:~$ cat > simple.txt
this is a sample test 1[Enter]
this is a sample test 2[Enter]
[Ctrl]+[d]
taro@fsg5:~$

ここで、上記コマンド行の『 > simple.txt 』は標準出力を「端末(ターミナル/ディスプレイ)からファイル sample.txt に変更する」ことを意味しています。すなわち、ディスプレイに表示されるハズのデータをそのままディスク上にファイル名 sample.txt として作成、出力するという意味です。

記号「 > 」はコマンド行上で標準出力( stdout )の出力先変更する時に用いられます。

また、記号「 < 」を用いる場合があります。これは「標準入力( stdin )」の変更を指示する場合に用いられます。例えば次のようなコマンド行では「ファイル test1.txt を読み込んで、ファイル test2.txt へ出力する」という意味になり、結果としてファイルの複写が行われます( ※ 通常はファイル複写にはコマンド cp を使います)。


taro@fsg5:~$
taro@fsg5:~$ cat < test1.txt > test2.txt
taro@fsg5:~$

このようにコマンド行中で記号「 < 」や「 > 」を使って「標準の入出力先を変更する」ことを「リダイレクション」と呼びます。

次ページに続く・・・ ≫


《 DebianGNU/Linux 基本操作の目次へ戻る 》

Copyright 2007-2008, takechu All Rights Reserved.