講義第4回:電子メイルと UNIX の構造

今日は、電子メイルの使い方と、それに関係して UNIX とは何か、ファイルと は何かといった計算機システムの基本的概念と操作法について説明する。 メイルの出し方は、既に簡単に説明したクラスもあるが、復習も兼ねてもう一 度説明することにする。

メイルを使う

さて、インターネットを使うとはいっても、皆さんがこれからの学生生活、あ るいその後大学院にいって研究をするにしても企業、官庁(これはちょっと怪 しいが)で働くにしても、計算機ネットワークをもっとも使うのは現在のとこ ろ電子メイルであろう。 電子メイルは、要するに皆さんが計算機で作った文書を、世界中のインターネッ トでつながった計算機を使えるひとなら誰にでも送れるしかけである。(もちろ ん、皆さんがもっとも便利に使うのはクラスやサークル内の連絡だと思うが、、、) 電子メイルには、以下のような優れた特色がある。 もちろん不便な点もある。 まあ、とりあえず実際に使ってみよう。以下、簡単に手順を説明する。 情報処理ワークブック「電子メイル編」をみると、もう少し詳しく書いて あるのでこれにしたがってみるのもよい。

メイルを書く

まず、自分宛にメイルを書いてみよう。Muleのウインドウ(右側)で、
 ESC x mh-smail(ret)
と入力する。(スペースは入れない)なお、教科書には mh-e とか書い てあるがこれは間違い。すると、

To:

と聞いてくるので、自分のユーザー ID をいれる。すると、

Cc: と聞いてくる。これは、 carbon copy の意味で、メッセージのコピーを別の 人にも送りたければ、ここで送り先の ID を入れる。なお、複数の人に送りた ければ、コンマで区切って g000001,g0000002 とか入れていけばいい。 他に送る必要がなければ、ただリターンすれば十分である。

さらに、

Subject:

と聞いてくるので、なにか表題をつける。メッセージの本文は日本語を使って も構わないが、この表題には使わないのが礼儀とされている。メイルを処理す るプログラムの中には、ここに日本語が書かれているとうまく動かないものが あるからである。

ここまで入れると、文章を入力できるようになる。通常の文書を書くのと同じ ように編集することができる。また、宛名や表題も変えてもいいが、 To: などとかいてあるところとか、ハイフンがならんでいるところは消して しまわないようにしないといけない(消してももとに戻せばいいのはもちろん である)。これは、これらの情報をみて計算機がどこに送るべきかなどを判断 するからである。計算機が必要とする情報が入っていないと、メイルがおくら れないで戻ってきてしまう。なお、送り先や表題の中身はここで変更することも できる。

なお、エディタの使い方、日本語の入力法については、既に説明しているが、 ワークブックのエディタの項、あるいは このあたりを見て勉強してみること。

メイルを読む

さて、メイルがうまく送られたら、今度は読んでみよう。 うまく送られたかどうかは、画面右上の郵便ポストみたいな絵がでているウイ ンドウの状態でわかる。これはうまくメイルがついたら、旗が立った状態にな るはずである。

さて、メイルを読むには、

ESC x mh-rmail(ret)

と入力する。(スペースは入れない)すると、例えば

  50+ 10/31 makino@komaba.c.u  test <<This is test >>
  51  10/31 makino@komaba.c.u  test <<This is test >>
というような状態になる(多分最初の番号は1だと思うが)。中身を読むには ピリオドを押すと、カーソルのある番号のメッセージが出る。カーソルは普通 に動かすことができる。

さて、1画面に収まる短いメッセージなら見ておしまいだが、長いのはどうす ればいいだろうか?これには2つの方法がある。一つは、スペースキーとデリー トキーを使う方法である。これで1画面分ずつ動かせる。もう一つは、カーソ ルをメッセージが出ているほうのサブウインドウに持っていき、そこでいろい ろな mule のコマンドを使う方法である。持っていくには、Ctrl-x o で移動 する。(もう一回で戻る)

ここで、Ctrl-x o というのは、「まずControl キーをおした状態で x を押し、 両方離してから o を押す」という意味である。

メイルを読むのをやめるには、単に q と入れればいい。

返事を書く

メイルが来たら、返事を書いてみよう。まず自分宛に送ったり、友達に 送ったりしただろうから、それらに返事を書いてみる。

返事を書くには、番号のサブウインドウの方にカーソルを戻し、返事を書きた いメッセージのところにカーソルをおいて、ただ a と入れる。で、何か聞い てくるが構わずリターンすると、メイルを書くのと同じような画面になるので、 書いて送ればいい。

なお、「自分で自分に出したメッセージ」に返事を書くのは、うまくいかない かもしれないので注意。 なお、元のメッセージを引用するには、 Ctrl-c Ctrl-y と押せば全文が取り 込まれる。必要なところを残して適当に編集して送ればいい。

以前に来たメイルを読む

ESC r で前に来たメイルを読むことができる。

もう少し別の方法について、後で説明する。

学外にメイルを出す

これはこの講義の中で実際にする必要はないが、原理を説明しておく。世界中 の計算機のうち、インターネットにつながっているものにはどこへでもここか らメイルを送ることができる。そのために、計算機(あるいは計算機群)には みな名前がついていて、例えば以下のようなアドレスを指定してメイルを学外 に送ることができる。

makino@komaba.ecc.u-tokyo.ac.jp
makino@sns.ias.edu
ここで、上のアドレスは、ここの計算機での僕のアドレスである。 @ マーク の前がユーザ ID で、その後はアドレスである。これは後ろから以下のように 読める jp : 日本 ac : 大学など教育機関 u-tokyo : 東京大学 ここまでは全世界的な規則で決まっている。その前の c は教養学部を意味す る。これは東大の中の決まりである。さらにその前の komaba でこの南棟計算 機システムを意味する。 下は、アメリカのある研究所にある僕のメイルアドレスである。アメリカのア ドレスは国名がつかない。これはアメリカ帝国主義のせい(古いね)というわ けではなく(多分)、このインターネットという仕組みがアメリカではじまっ たからである。その前は研究所の略称、その前はメイルを扱っている計算機の 名前である。なお、最近では日本国内のアドレスでも .com で終っていて国名 がつかないものがある

計算機の原理

次の話に入る前に、計算機の仕掛けについて簡単にまとめておこう。

計算機とは、もともとはその名前の通り「計算する機械」である。現代的計算 機の起源は、第2次世界大戦前後に軍事目的で研究開発された様々な機械にあ るといっていい。これらは、例えば弾道計算、あるいは暗号解読といった特定 の目的のためにつくられたものであった。

特定の目的とはいえ実際に作られたものは、デジタル回路を使って計算するも の、要するに基本的には電卓と同じである。電卓との違いは、計算機では計算 の手順を指定できるということである。(プログラム電卓というのもあるが)

例えば2次方程式の解を求めるという計算を、電卓でするとすれば、解の公式 に従って人間が数字を入れ、演算キーを押していくということになる。これに 対し、計算機では、あらかじめプログラムで指定しておけば数字を読み込み、 計算し、答を表示するというのをすべて人間の操作なしで行なえるわけである。

初期の計算機というのは、大体以下のようなものであった。

Control unit は、いろいろな制御をするところである。 Arithmetic unit (算術演算部)は、計算をする。計算は、 Memory (メモリ、記憶装置)に入っ ているデータに対して行なう。メモリは、データを覚えておくところである。 初期の計算機では、2進数で例えば 36 桁 (36ビット)、 512語というくらい のものであった。512個の数をおぼえておけるわけである。このメモリが、計 算手続き(プログラム)と、データの両方をしまうのに使われる。

プログラム、入力データはどちらも適当な入力装置から読み込まれる。初期の 計算機では紙テープを使ったものが多かった。出力も同様で、やはり紙テープ にでる。計算機を使うには、まず紙の上にプログラムを書き、それをテープ穿 孔器でテープに落す。それを計算機にかけると、また答が紙テープ、またはプ リンタからでるといったものであった(そうである)。

このような構成は、いろいろ不便なものであった。というわけで、今の計算機 は例えば以下のようになっている。

初期の計算機との大きな違いは、まずハードディスクユニットがついているこ と、次に入出力装置が多様化したことである。(もちろん、速度、メモリの容 量が大きく向上したことはいうまでもない。これらは過去 40 年間にほぼ1億 倍になっている)

ハードディスクユニットは、メモリの拡張と考えていいが、メモリよりも安価 でさらに大容量であり、また電源を切っても記録内容が保存される。そのため に、プログラムやデータを、テープなどではなくディスクにしまっておくのが 普通になった。

多様な入出力装置は、計算機の用途を非常に広くした。現在、普通の計算機で はディスプレイ、プリンタに出力ができ、またキーボード、マウスから入力が できる。これらは主に人間を相手にするものだが、それだけではなく計算機同 士がコミュニケートするためのネットワークへの接続のための装置も持ってい るのが普通である。

というわけで、今日の残りの時間では、「いかにしてハードディスクにデータを入れるか」と いうことをやってみようというわけである。

ファイル

ハードディスクの中には、プログラム、データ、そのほか様々な情報がしまわ れる。これらは見出しをつけて、計算機、人間の双方に理解できるような形で 管理する必要がある。この管理システムのことをファイルシステムという。名 前がついたデータの集まりをファイルと呼ぶ。こ の講義で使う UNIXシステムでは、ファイルの名前は例えば以下のようなもの である
/home/makino/WWW/kougi-96w/note96w-4.html
このファイルの中身はこの講義資料である。で、この名前は、最初が/で 始まり、後は/で区切られたいくつかの名前(これをディレクトリ名という。 ディレクトリとは、住所録のことである)が続き、最後にまた名前が来て終る。 この最後の名前のことだけをファイル名ということもある。このように区切っ て階層的な名前を付けられるようにすることで、体系的にファイルを操作する ことができる。イメージとしては、ある名前のディレクトリを見るとその下に いろいろなディレクトリ、あるいはファイルがあり、ディレクトリの下にはま たディレクトリがありというふうになっているわけである。

最初の /home というのは、ここのシステムに特有の名前で特に意味はない。 次の makino は、私のユーザ名である。私のものであるファイルは、ここまで は共通の名前になっている。その下の WWW というのは、私がつくったディレ クトリである。 WWW で見てもらうためのファイルを置くのにつかっている。 その下の kougi-96w というのは、さらに WWW の下に作ったディレクトリで、この講義関係のファイルを おくようになっている。

まあ、何だか良くわからなくなったかもしれないので、ちょっと実地にやって みよう。

ファイル作成、印刷

作成についてはすでにやったはずだが、もういちどおさらいしておく。

右のウインドウ(Mule)にマウスカーソルを持っていって、キーボードから何 か適当に文字をいれて見よう。入れたものがそのまま表示されるはずである。 適当に入れたところで、Ctrl-X, Ctrl-S と順に押して見よう。(Ctrl-Xは、 Ctrlキーを押したまま X を押すということである。すると、画面の一番下に

 File to save in: /home/makino/
と出る。ここで何か適当な名 前、例えばsample.doc とか入れてリターンキーを押すと、この画面に出てい る内容が sample.doc という名前のファイル(ディレクトリ名はその前に出て いるもの)にしまわれる。

なお、出方は 少し違うかも知れないが、最後が自分のユーザーネームになっていれ ば問題ない。そうでなかったら Delete キーで全部消して、 /home/gXXXXXX/ (XXXXXXは自分の番号に変えること)と自分で入れ直す。その先につけたい名 前を入れればいい。 あるディレクトリにどんなファイルがあるかを見るには、 ls というコ マンドが使える。左のウインドウ(シェルウインドウ)にマウスを持っていき、 ls リターン(以下、リターンは省略することもある)と入力してみよう。 以下、良く使うコマンドをいくつか列挙しておく。

コマンド名  機能
ls        ファイル名のリスト
cat       ファイル内容の表示
lpr       ファイル内容の印刷
cp        ファイルのコピー
mv        ファイルの名前変更
rm        ファイルの消去
mkdir     ディレクトリの作成
cd        カレントディレクトリの変更
カレントディレクトリとは、ファイルの名前(完全名)は上に書いたように長 いものであってコマンドとかでいちいち入力するのは面倒なので、最初が / で始まらないファイル名に自動的に補われる名前である。例えば、 /home/makino というのが私がここの計算機を使う時のカレントディ レクトリの既定値である。

コマンドの詳しい解説は man コマンドで見てみよう。また、「補遺」2章にも 基本的な解説がある。 さらにくわしい解説は ワークブックのUNIXの項をみて欲しい。

例えば、来たメイルは、 Mail/inbox というディレクトリの下に、 来た順に番号がついたファイルになってしまわれている。シェルウインドウで

cd Mail/inbox
cat 1
とすれば最初に来たメッセージを読める。

ファイルの印刷の方法、印刷したものがどこにでるかなどについては補遺を参 照すること。

次週予告

次回とその次の2回で、計算機を使った文書作成について簡単に紹介する。要 するにいわゆるワープロと、簡単なスケッチ的な絵を書くためのプログラムで ある。具体的には、 LaTeX というものを文書を書くのに使い、 tgif という のを絵を描くのに使ってみる。