ホームページ目次1997年前の話次の話

LinuxとCの授業が進みすぎて困る

1997年7月23日

昨日、22日(火)から、ネパール人5名に、Unixの使い方を教え始めた。 最初、ほんのちょっとだけ概論をやったが、英語で抽象的なことを話す程能力 もないし、そんなものが大した意味があるとも思えないし、せっかくコンピュー タを使える機会なんだから、できるだけ触る時間を増やそうとあって、ノウガ キは短く切り上げた。

まずは、 絶対にパワースイッチとリセットスイッチには触るな と釘をさしておいた。君達がこのボタンを押すと、コンピュータが壊れると 言っておいた。これが一番重要な事柄なのである。

次にログインとログアウトの練習である。何度かやったところで、すぐ Xウィンドウを起動し、偽物Windows95を 使い始めた。メニューの使い方などを簡単に実演し、実際にやらせた。最初は マウスになれていない。それから、Linuxは当然3ボタンマウスでやるべきな んだが、2ボタンのPSマウスしか手には入らなかったので、左右のボタンを 同時に押すことで、中ボタンの代理をさせている。これには、私の方がなかな か慣れない。

Xのゲームとか、色々起動して、サイズ変更したり、殺したりして遊ばして、 Xウィンドウの操作に慣れさせた。5名中2名はカトマンズ以外で働いていて、 今回の研修のために集まった人達である。その2名は生まれて始めてキーボー ドやマウスに触るのである。最初は相当ぎこちない操作であったが、徐々に慣 れてきた。マウスには次第になれるが、キーボードのブラインドタッチはとて も無理なので、とりあえず一本指で打ってもらっている。

他の3名は首都カトマンズなので、オフィスにもパソコンなどがあり、キー ボードに慣れていて、殆どブラインドタッチで入れられる。

Xウィンドウに慣れたところで、xtermを開いて、Unixのコマンドの学習の 始まりである。cat, mkdir, cd, rmdir, cp, mv などをまず教えた。そして、 次ぎに、エディタを使わずに、 cat > filename だけで簡単なファイルを作っ て、その内容を cat で見たり、cat -n で行番号付きの出力をしたり、さらに echo を教えて、文字列をそのまま出力させるのをした。

「DOSと同じ感じだ」と言われたので、「そうではあるが、はるかにパワフル なのである。それはそのうち分かる」と言っておいた。

さて、今日(2日目)、昨日とは異なるコンピュータの前に座らせた。ネッ トワークというものを知らしめるためである。彼らは、昨日使ったコンピュー タの前に座りたがったが、別のコンピュータの前に座らせ、ログインさせ、 昨日作成したディレクトリやファイルがそのまま残っているのを確認させた。

さらに、パスワードを変更する練習もした。すると、1名が、別の人の名前 を使って入ろうとした。が、その別の人がパスワードを教えなかった。そこで、 パスワードの重要性まで教える羽目にもなった。もちろん、パスワードを変更 したら、新しいパスワードを覚えていないと、次から使えなくなるので、ちゃ んと覚えておくようにとも言っておいた。

ネットワークならば、どのコンピュータを使っても、全く同じにできるんだ ということを、このようにして教えた。後で、「なぜ別のコンピュータを使っ ているのに、このようになるのか。魔法を教えろ」ということだったので、 NFS の原理を教えてしまった。Unixを始めて2日目の者にNFSを教えるという のは無茶苦茶大胆とも思えたが、大筋は理解して貰えたと思う。

さらに難しい質問も飛んで来た。「中央に1台のコンピュータがあり、端末 を何台も繋いでいるのは知っている。なのに、なぜネットワークを組んで使っ ているのか」というのである。要するに、昔のコンピュータシステムと、今風 のネットワークコンピューティングの比較である。それも、コスト、手間など の問題も含めて説明した。もちろん、ネットワークをどんどん繋げて、インター ネットにも繋いで、世界中のコンピュータとの通信が云々というようなことを 話そうとしたが、どこまで話して中断したか良く覚えていない。

その後、さらにいくつかのコマンド、さらにフォアグラウンド処理とバック グラウンド処理の違いを教え、今日の午後から、emacsエディタの練習である。 最も重要な15個のキー操作の表があったので、それをコピーし渡して、実際 に操作して確認させた。

次に、BASHの簡単なスクリプトファイルのプリントアウトしたものを昼休み の間に作成し、そのプリントアウトを渡し、まずは全く同じ内容のファイルを 作らせ、実行させた。echo しかないものとか、echo と sleep しかないもの を最初にやらせた。echo に与える文字列を勝手に変えさせたり、まあ色々やっ た。

さらに、エディタに慣れさせるため、echo だけで花文字を出力するのを用 意し、入れさせた。それから、永久ループするスクリプトで、毎秒 echo で何 らかのメッセージを1行出力するスクリプトファイルを編集させ、実行させた。 こうなれば、毎秒1行のメッセージを出すスクリプトファイルを変更し、毎秒 花文字列を出力するように変えさせた。

さて、ここまでエディタに慣れたところで、カーニハンの本の『プログラミ ング言語C』の最初にある

hello, world
を出力するプログラム hello.c を入力させ、コンパイルし、実行するとこ ろまでやった。

エディタには思ったよりも早く慣れ、入力ミスが期待通り発生せず、すんな りとコンパイルできてしまった。予定が狂ったので、さらに、その後に出てく る、摂氏と華氏の対応テーブルも入力させて、時間を稼ごうと思ったのである が、これも殆どミス無く入力し、コンパイルしてしまった。

たとえミスが出た場合も、1、2回探してあげれば、後は殆ど一人で発見し、 修正し、コンパイルし実行できてしまった。カッコのバランスについては何も 教えなかったが、入力段階で、既に対応を考えながらやっていた。これでは、 説明することがなくなってしまう。


研修ルームでの実習風景

と言う訳で、2日間で、Cの本に取り組むまでの準備が済んだのである。 Unixに3日かける予定だったのが2日で済んでしまった。飛ばしすぎた感も あるが、まあ、出来てしまうのだから仕方がない。

明日からCだから、かなりきちっと教えていかないといけない。ここからは 本に頼る部分も増えるが、その本を私はまだ読んでいない。これから読まなく ては、英語での個々の用語が分からない。これから一夜漬けかな。こんなこと で一夜漬けをするなんて、今まで一度も思ったことは無かったんだが。。。


ホームページ目次1997年前の話次の話