Views
標準入出力を理解する
STEP 1
- 標準入出力、リダイレクション、パイプ
- >, >> 標準出力のリダイレクト
- < 標準入力のリダイレクト
例題の実行で、メールを送る相手は自分として @is.kochi-u.ac.jp を付けてください。(自分が 06ss000 なら、mail [email protected] とする) また、メールの本文に含める内容はローマ字だけにしてください。
- こんな使い方もある
- 標準入出力のまとめ
標準エラー出力というのもあります。
- パイプ(|)は標準出力を次のコマンドの標準入力につなぎます。(delete キーの左の Shift+¥)
STEP 2
- デバイスファイル
- デバイスファイル
皆さんが使っている MacOSX では、/dev/tty1 ではなく、 /dev/ttyp? となります。? のところは、1,2,3, ... などの数字です。
who コマンドを実行すると、自分のユーザID が複数出てくることがあります。そのときは w コマンドを実行してみます。
$ w 11:16 up 2:15, 1 user, load averages: 0.00 0.00 0.00 USER TTY FROM LOGIN@ IDLE WHAT tkikuchi p0 gs03.is.kochi-u. 11:02 - w tkikuchi p1 gs03.is.kochi-u. 11:02 - bash
上の例で、現プロセス名に w が出ているのが、「自分が使っている画面装置ファイルの名前」になります。この場合、p0 ですから、次に cat でリダイレクトするデバイスファイルは /dev/ttyp0 にすればよいということです。
- デバイスファイル
実験
- 「ターミナル」を2つ起動して、片方の端末から別の端末に文字を表示させることができるだろうか?
章末問題(再掲)
- 以下の操作を実行してください
- ls -l コマンドの出力を、ファイル f71 に出力する
- date コマンドの出力を、ファイル f71 に追加する
- ファイル f71 の内容を確認する
- 以下の操作を実行してください
- わざとエラーを発生させてください。たとえば cat f79 (存在しない ファイル名) を実行してください。そのとき、標準エラー出力を ファイル f72 に切り替えてください。
- ファイル f72 の内容を確認してください。
- カレントディレクトリにあるファイルとディレクトリの数を数えてください。 (ヒント:パイプ)
- わざとエラーを発生させてください。たとえば cat f79 (存在しない ファイル名) を実行してください。そのとき、標準エラー出力を 表示させないようにしてください。
解答を "メールでレポート":mailto:tkikuchi+ci2006@is.kochi-u.ac.jp?subject=04_7StdIO してください。