━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第42号(2004.02.07) リダイレクトとパイプ(1) 5834部配信 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■ はじめに ● ウイルス検査をしましょう ■ MS−DOSの入出力 ■ リダイレクト ● 書式 ● 入力のリダイレクト ● 出力のリダイレクト ■ パイプ ● 書式 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ 皆さん、こんにちは。速星です。 今回から、DOSの最も重要な概念の1つである入出力について説明します。 FATに引き続いて堅苦しい話になりますが、DOSの仕組みを語る上では避け て通れないテーマですので、頑張って読んで下さい。 ------------------------------------------------------------------------ ● ウイルス検査をしましょう コンピュータウイルス「W32/Mydoom@MM」が流行しています。 これはメールの添付ファイルを経由して増殖するウイルスです。 発生日は1月26日ですが、いまだに流行が収まっていません。 読者の皆さんも十分ご注意下さい。 http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=WORM_MYDOOM.A 無料でウイルス検査ができるページもあります。 ウイルス対策ソフト未導入の方は、直ちに検査を行うようにして下さい。 ☆ 「ウイルスバスターオンラインスキャン」(無料、常時接続推奨) http://www.trendmicro.co.jp/hcall/ 感染が見つかった場合には、以下の駆除ツールが利用できます。 ☆ 「W32/Mydoom@MM」駆除ツール(無料) http://sec.sourcenext.info/virus/check/fix_mydoom.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ MS−DOSの入出力 ------------------------------------------------------------------------ DOSのコマンドは通常、キーボードから入力を受け付け、実行結果をディスプ レイに出力します。 【註】 図は、等幅フォントでご覧下さい。      入力┌────┐出力 キーボード→→│コマンド│→→ディスプレイ        └────┘ 例えば、MOREコマンドをオプションなしで実行してみましょう。 MOREコマンドは、キーボード入力を行単位でそのままディスプレイに出力します。 従って、実行例は次のようになります。 > C:\WINDOWS>MORE …… MOREコマンド実行開始 > > MS-DOS …… 「MS-DOS」と入力してEnterキーを押す > MS-DOS …… 入力した文字が下の行に表示される > Command Prompt …… キーボードからの入力 > Command Prompt …… 入力した文字が下の行に表示される > ^Z …… Ctrl+Z(画面では「^Z」と表示)は入力終了の意味 > > C:\WINDOWS> …… MOREコマンドが終了し、プロンプトが表示される ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ リダイレクト ------------------------------------------------------------------------ MOREコマンドは、入力した文字を表示するだけのコマンドでした。 こんなコマンドがいったい何の役に立つのでしょうか? キーボードで入力してディスプレイに出力させているうちは、まず役には立たな いでしょう。 実は、DOSでは、様々な装置を入出力に用いることができます。入力装置は キーボードに限られませんし、出力装置もディスプレイに限られません。 MOREコマンドは、入出力を他の装置に振り替えることではじめて、役立つコマン ドになるのです。 この入出力の振り替えのことを、リダイレクトといいます。 【註】 図は、等幅フォントでご覧下さい。     入力┌────┐出力 入力装置→→│コマンド│→→出力装置       └────┘ ------------------------------------------------------------------------ ● 書式 リダイレクトを利用するときは、コマンドの一番最後に「< 入力装置名」あるい は「> 出力装置名」というように記述します。 例えば、入力をキーボード以外の装置に振り替える場合、および出力をディスプ レイ以外の装置に振り替える場合は、それぞれ次のようになります。 コマンド [オプション] < 入力装置名 コマンド [オプション] > 出力装置名 また、これらは同時に利用することもできます。その場合、入力のリダイレクト と出力のリダイレクトは、どちらを先に書いてもかまいません。 コマンド [オプション] < 入力装置名 > 出力装置名 コマンド [オプション] > 出力装置名 < 入力装置名 ------------------------------------------------------------------------ ● 入力のリダイレクト 入力のリダイレクトに使われる装置には、以下のようなものがあります。 ・キーボード(入力装置名:CON)……通常通り、キーボードからの入力 ・補助入力装置(入力装置名:AUX)……シリアルポートからの入力 ・ダミー(入力装置名:NUL)……何もしない入力元からの入力 ・種々のファイル(入力装置名:ファイル名)……ファイル内容の入力 装置とファイルとが同列に扱われていることに注意して下さい。 DOSでは、各種の装置との間のデータのやりとり(入出力)は全て、ファイル と同じものとみなされるのです。 例えば、ファイルからの入力を試してみましょう。 まずは下記の内容のテキストファイル「INPUT.TXT」を作ります。 -----(INPUT.TXTここから)----- MS-DOS Command Prompt -----(INPUT.TXTここまで)----- では、MOREコマンドの入力を「INPUT.TXT」にリダイレクトしてみましょう。 不等号「<」の向きを間違わないように気を付けてコマンドを入力して下さい。 > C:\>MORE < INPUT.TXT > > MS-DOS > Command Prompt 「INPUT.TXT」の中身がディスプレイに表示されましたね。 入力のリダイレクトを使えば、MOREコマンドは、テキストファイルの内容をディ スプレイに表示するプログラムとして利用できるのです。 【註】 図は、等幅フォントでご覧下さい。      入力┌────┐出力 INPUT.TXT→→│コマンド│→→ディスプレイ        └────┘ なお、MOREコマンドは、単に入力内容を出力するだけのコマンドではありません。 出力が1画面分(25行または30行)に達したら一時停止するという、大変便利な 機能を持っています。 このため、「MORE < ファイル名」という書式は、テキストファイルの中身を確 認する際によく使われます。 ただし、ファイルは出力のリダイレクト先としても利用できます(後述)ので、 不等号「<」の向きを間違えると、一瞬でファイルの中身が失われてしまいます。 安全のため、重要なファイルは別のコマンドを用いて閲覧した方がいいでしょう。 ------------------------------------------------------------------------ ● 出力のリダイレクト 出力のリダイレクトに使われる装置には、以下のようなものがあります。 ・ディスプレイ(出力装置名:CON)……通常通り、ディスプレイへの出力 ・補助出力装置(出力装置名:AUX)……シリアルポートへの出力 ・プリンタ(出力装置名:PRN)……印刷 ・ダミー(出力装置名:NUL)……何もしない出力先への出力 ・種々のファイル(出力装置名:ファイル名)……ファイルへの出力(書き込み) 出力についても入力と同様に、装置とファイルとが同列に扱われています。 例えば、DIRコマンドの出力をファイルにリダイレクトしてみましょう。 実行結果は以下のようになります。 > C:\>DIR > FILELIST.TXT > > C:\> DIRコマンドでは通常、大量のファイル名一覧が画面を流れていきます。しかし 今回は、画面にファイル名一覧が全く表示されないままに、コマンドが終了しま した。 それは、出力が画面から「FILENAME.TXT」へと振り替えられていたからです。 「FILENAME.TXT」を見てみて下さい。 普段DIRコマンドを実行したときに表示されるファイル名一覧が、そっくりその ままファイルに保存されているはずです。 【註】 図は、等幅フォントでご覧下さい。      入力┌────┐出力 キーボード→→│コマンド│→→FILENAME.TXT        └────┘ なお、既に存在するファイル名を出力のリダイレクト先として指定した場合、そ のファイルは上書きされます。ファイルの中身はコマンドを開始した瞬間に失わ れますから、途中であわててコマンドを強制終了させても無駄です。 このため、システムファイルや重要なデータを破壊することのないよう、出力の リダイレクト先ファイル名の指定には注意が必要です。 ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 次号の予定は、「FATファイルシステム(3)」です。 FATの説明の最終回で、ディレクトリの実体について説明します。 なお、「リダイレクトとパイプ」の2回目は再来週(第44号)発行の予定です。 パイプについて解説します。 ------------------------------------------------------------------------ 私が創刊号から読み続けている、お勧めのメルマガです↓ ━━━ ☆★ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 女┃性┃の┃本┃音┃ ゾ┃ク┃ゾ┃ク┃さ┃せ┃て┃よ┃ ━┛━┛━┛━┛━┛ ━┛━┛━┛━┛━┛━┛━┛━┛ 女性ライターによる女性の生活、行動、恋愛、心理、思考、性等に本気の 本音で書かれたコラム集。仕事や勉強の合間に頭を休められる必須マガジン♪ ゾクゾクしたいなら読んでおかないと損するかも♪ http://melten.com/osusume/?m=11891&u=11891 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ☆★ ━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://bbs9.otd.co.jp/dos/bbs_thread (スレッド表示) http://bbs9.otd.co.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 tetrahedrane@yahoo.co.jp なお、いただいたコメントは、本マガジン上で引用する場合があります。 (メールアドレスやお名前は一切公開いたしません) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● 感想・質問宛先 http://bbs9.otd.co.jp/dos/bbs_tree tetrahedrane@yahoo.co.jp ● 広告募集 当メルマガへの広告掲載をご希望の方は、下記アドレスまでお願いします。 tetrahedrane@yahoo.co.jp ● メルマガ交換広告募集 当メルマガとのメルマガ交換広告をご希望の方は、下記アドレスまでどうぞ。 tetrahedrane@yahoo.co.jp ● 登録・解除・バックナンバー http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ このメールマガジンは、『まぐまぐ』を利用して発行しています。 http://www.mag2.com/m/0000106066.htm (c) 2004 Chisato Hayahoshi