1998 年度「計算機基礎論3B」 1998-11-06

前回の補い

前回、パーミッションのところで superuser(スーパーユーザ)について説明するのを忘れていました。 WS には superuser と呼ばれる人が存在して、全体の管理をしています。 superuser としてのログイン名は root です。 superuser は、ファイル・ディレクトリのパーミッションに関係なく何でもできます。 私は実習用 WS たちの superuser ではありません。

テキストファイル

われわれの端末に表示される文字には 「半角文字」と「全角文字」があります。 全角文字は画面では正方形の範囲を占めています。 半角文字はその半分です。

see below

 ※ 上の図と同じものを文字で書くと次のようになります。 フォントによっては、半角文字が全角文字の半分の幅でないかもしれません。

    半角文字    ABCabc123!"#$%&'()
    全角文字    ABCabc123あいうえお金沢大学理学部数学教室

 ※  「“同じ”字に半角全角の二種類がある文字コード体系は適当でない」 「半角文字・全角文字という名称は適当でない」 という意見もあるが、 現実にいまのコンピュータでは両者が使えてしまうし、 区別できないと困るので頭にいれておくこと。 スペースにも半角と全角の区別がある!

テキストファイルは、 これらの文字やスペースや「改行」コードを一列に並べたものです。 例として、 「a,b,c,改行,あ,い,う,え,お,改行,改行,X,Y,Z,改行」 と並んだファイルがあったとしましょう。 これを cat で画面に表示すると次のようになります。

see below

 ※ 上の図と同じものを文字で書くと次のようになります。

    abc
    あいうえお
    
    XYZ

このファイルは 「a,b,c,改行」「あ,い,う,え,お,改行」「改行」「X,Y,Z,改行」 の4行からなっています。 「改行」がくると表示は次の行の行頭に移ります。 「あいうえお」の次の行は「改行」だけからなるので空行になります。

画面ではスペースは見えません。 よって、上の例で「a,b,c」と「改行」の間にスペースをいれ、 「a,b,c,スペース,改行,あ,い,う,え,お,改行,改行,X,Y,Z,改行」としても cat した結果の画面は全く同一です。

「a,b,c,スペース,スペース,……,スペース,あ,い,う,え,お,改行,改行,X,Y,Z,改行」 (スペースは全部で77個)としても cat した結果の画面は全く同一です。 なぜなら、 Telnet の画面は横80文字なので「abc」とスペース77個でちょうど右の端に達し、 「あいうえお」は「abc」の真下にくるからです。

しかし、これらはファイルとしては別物です。 「cat filename」の代わりに「cat -ve filename」とすると行末に 「$」を表示するので、これらを区別することができます。

 ※ 1文字につき半角文字は1バイト、全角文字は2バイトである。 改行は1バイト。その合計がファイルのサイズになる。

 ※ ファイルの最後は改行で終わっていることが望ましい。 「a,b,c,改行,あ,い,う,え,お,改行,改行,X,Y,Z」 という内容のファイルを作ることはできるし、 それで問題なく動作することも多いが、 それでもやはりやめたほうがいい。 ただし、全く内容を持たない、からのファイルは例外である。

テキストエディタ

「テキストエディタ(text editor)」とは、 テキストファイルを作成・更新するときに使うプログラムです。 略して「エディタ(editor)」と言うこともあります。 ファイルの中味を見るときに cat や more の代わりに使っても便利です。

 ※ テキストファイルを作成・更新することを「エディット(edit)」という。 日本語に訳せば「編集」である。

エディタはワープロと似ていますが、機能は限られています。 文字を大きくしたり小さくしたりはできません。 字体を変えてイタリックなどにすることはできません。 罫線を使うことはできません。 「x の n 乗」を x の肩に小さな n を乗せて表わすような数学上の記法は使えません。 イラストは入れられません。

 ※ 「:-)」のように文字を使って顔を描くことはできる。

unix のテキストエディタ mule の使い方

unix のエディタとしては vi(日本語としては「ブイアイ」と呼ぶことが多い) と emacs(「イーマックス」)が有名ですが、 この授業では後者を多言語化した mule(「ミュール」)を使うことにします。 ほとんど emacs と同じなので、私はうっかり emacs と呼ぶかもしれません。

ファイル file1 をエディットする場合は「mule file1」です。

画面に出ている四角または下線を「カーソル(cursor)」といいます。 基本的なキー操作は次の通りです。

Ctrl+\ で、アルファベット入力モードと日本語入力モードが交互に切り換わります。 いまどちらにいるのかは、画面左下を見ればわかります。 日本語入力モードでは、ローマ字で読みを入力するとひらがなで表示されます。 たとえば「tegami」と打つと「|てがみ|」のようになります。 両端の「|」はその間の文字が未確定であることを示します。 求める文字が出るまでスペースキーを打って変換し、 次の文字を入力すれば確定します。 「|ぎょうでん|」を変換しようとして「|業 でん|」になってしまったように、 間違って切り分けられた場合は CTRL+O を押して(みて)ください。 (この例は、そうやってみても残念ながら「行伝」に変換されませんでした。)

mule の終了は、 未確定文字のない状態で Ctrl+X Ctrl+C (Ctrl+X に続いて Ctrl+C) です。 「Save file ...?」と聞いてきますから、 セーブ(save, 「保存」の意)するなら「y」、しないなら「n」を押します。 保存すればエディットした内容はファイルに書き込まれ、 タイムスタンプはその時の日時になります。 保存しなければ 元のままです。 「n」を押すと「Modified buffers exist; exit anyway? (yes or no) 」 と聞いてきますので (本当に保存しないで終了するなら) 「yes」と答えてください。 「y」ではダメです。:-)

 ※ 新規に作ったファイルのパーミッションは rw-r--r-- (644) になる。 更新した場合は元と同じ。 更新した場合、 元のファイルは元のファイル名の最後に「~」をつけた名前をもつファイルに改名されて残るが、 このパーミッションも元と同じになる。 ただし、mule はエディット中に自動的にバックアップファイルを作る。 ファイル file の自動バックアップファイルの名前は #file# となるのだが、 そのパーミッションは file のそれによらず 644 になり、 他人から中味が見えてしまうようだ。 自動バックアップファイルは編集しているファイルそのものと同じディレクトリに作られるので、 人に見られたくないファイルを mule でエディットするときはパーミッション 700 のサブディレクトリで行なうほうがよいのかも知れない。 (ほかにも、umask を使って以後自分の作るファイル・ ディレクトリはすべて他人から見えないようにしてしまう方法もあるが、 それはここでは教えない。)

 ※ ファイルを見るためだけにエディタを使ったときはセーブしないようにすること。 一切変更を行なっていなければセーブしてもファイルの内容は変わらないはずだが、 とかく人間は間違いをおかしやすいし、タイムスタンプが変わってしまう。

mule には極めて多くのコマンドがあるので、 うっかり間違えてコマンドを打ち込んでしまい動きがおかしくなることがあります。 そういう場合は Ctrl+G を押してみてください。 処理を中断できる場合があります。 それでもダメなら、 emacs を終了しようとすればたいていなんとかなります。:-)

 ※ 行末に余分なスペースを入れないよう注意すること。 一行が画面上の複数行に渡る場合は画面上の行末に「\」が表示される。 特別な理由がない限り、画面の4分の3ぐらいで改行する習慣をつけておくとよい。

 ※ ファイルの終端を越えて「↓」 を押しているとそれだけで改行が入力されてしまうので注意すること。 余分な改行をいれてしまったかどうかのチェックは、 ファイルの終わりにカーソルを移動するコマンド Esc > (Esc に続いて >)を利用するとよいだろう。

 ※ 「改行」を挿入・削除すると画面が大きく変わり、初心者は驚くことがある。 しかし、上のテキストファイルの説明を理解した上で練習すればすぐに慣れると思う。 一つの行を二つに分割するにはしかるべき位置で Enter キーを押せばよいし、 二つの行を連結して一つの行にするには後ろの行の行頭で Delete キーを押せばよい、 ということが理解できただろうか? ある行と次の行の間をあける方法、およびあきすぎた行と行の間をつめる方法は、 各自で考えてみてほしい。

諸君のホームディレクトリにある tx.usr, tx.scr はタイピング練習の結果です。 mule で内容を見てみましょう。

 ※ これらのファイルはパーミッション 444 なので、 mule では変更ができないようになっている(ようだ)。

(いわゆる)ホームページの作成

突然ですが、 予告を取り消し、 メールより先に(いわゆる)ホームページ作りをやることにしました。 簡単にできることを最近後藤先生に教えていただいたのと、 メールより少ない予備知識でやれることに気づいたためです。 なお、「ホームページ」というのは俗称だそうですが、これだけ広まっているので使います。

自分のホームディレクトリのすぐ下に、 public_html という名前のディレクトリをパーミッション 755 で作ってください。 その中にパーミッション 644 で作ったファイルはホームページとして全世界に公開されます。

全世界に公開されることから、書いてはいけないもの、書かないほうがいいものがあります:

まず、~/public_html/index.html を作りましょう。 .html で終わるファイルは HTML の文法に合わせて書かなければなりません。 次にひな型を示します。

    <HTML>
    <HEAD>
    <TITLE>ここに書くと上の青い帯の部分に出る</TITLE>
    </HEAD>
    <BODY>
    ここに本文を書く
    </BODY>
    </HTML>    
URL は http://wwwedu.ipc.kanazawa-u.ac.jp/~eb00d??/ になります 。 ?? には自分のユーザ名に合わせて数字をいれてください。

本文を書く際、 段落は <P> と </P> で囲みます。 テキストファイルとして改行していてもブラウザ上では改行しません。

<H1> と </H1> で囲んで見出しをつけることができます。 <H2> と </H2>, <H3> と </H3>, <H4> と </H4>, ……の順で見出しは細かくなり、それにつれて文字も小さくなりますが、 これらを文字の大きさを変えるために使うのは邪道とされています。

 ※  くわしいことは、適当なページを Netscape に読み込み、 「表示(V)」「ページのソース(U)」 でソースを読んで勉強するとよいだろう。 ただし、そうやって覚えたことを人に教えるのはやめたほうがいい。 自分のブラウザ(Netscape, Internet Explorer などの、 インターネットを見るソフトの総称) できちんと見えたからといってそれが HTML の文法に合致しているとは限らない。 まねして書いた自分のホームページの文法がおかしいのは自分だけの問題だが、 教えられた人は迷惑だ。 という私ももうすでにいくつかウソを教えているはずだ。

 ※  WS の index.html を書きかえても、 Netscape の側で「再読み込み」しないと表示は変わらない。

課題その1

(いわゆる)ホームページに自己紹介を書いてください。 締め切りは日本標準時の 1998 年 11 月 19 日(木) 23 時 00 分。

参考:立教大学理学部数学科ホームページ ……学部学生のホームページが参考になるかも。


岩瀬順一 <iwase@math.s.kanazawa-u.ac.jp>