第2週


Getting Started 2


今週でこのUNIX計算機にログインするのは2回目だと思います。 ログインのためのパスワードはこの授業の最初に教官から知らされていると 思いますが、その名前通り暗号のようで覚えにくいと思います。 ですから自分の覚え易いパスワードに変更しましょう。

*パスワードの変更

この授業の学習と課題をこなしていく上でファイルをエディット(編集)する ことは必須です。 少し早いかも知れませんがエディタの使い方を学習しましょう。

*エディタの使い方

シェルのカスタマイズのところでファイルを source したと思いますが、 次の学習へ進むには先ほどのシェルのカスタマイズがどうしても必要です。 ファイルを source していない人は必ずして下さい。

ところであなたは先週授業の課題を教官に送る際に自分自身にもメイルを 出したはずです。 また教官からの返事のメイルも来ているはずです。 それらのメイルは計算機上ではスプールと呼ばれる領域に溜められていて あなたが読んでくれるのを待っています。 そこでこれからそれらのメイルを読むことにしましょう。 先にメイルを送るときに用いた mail コマンドでもメイルを読むことは できますが余り使い勝手が良くないので総称して mh と呼ばれる 一群のコマンドを用いることにします。

*mh のススメ

それでは今週の課題です。

+今週の課題

これで今週の授業は終わりです。 お疲れさまでした。


ホームに戻る
スケジュールに戻る

パスワードの変更

第1週で「パスワードは他人に教えてはいけない」と言いました。 しかしパスワードは元々教官から教えてもらったものです。 その意味では他人(教官)がパスワードを知っているわけで今の状況は 好ましいものではありません。 また先にも言ったように現在のパスワードはあなたにとって覚えにくくて 仕方の無いもののはずです。 ですからパスワードを変更しましょう。 パスワードを新しいものに変更する前に注意して欲しいのは、パスワード は他人に知られないと同時に他人が容易に推定できないものにする事です。 他人が容易に推定できるパスワードとは以下のようなものです。

では他人が推定し難いパスワードとはどんなものでしょうか。

皆さんがパスワードを設定する時には上のうちのどれか、あるいは上の方法の いくつかの組み合わせでパスワードを考えてください。 計算機によってはアルファベットと数字の混合や大文字小文字の混合を 要求する場合もあります(この計算機は要求します)。 もう一つ注意して欲しいのは「自分のパスワードは忘れてはならない」と いうことです。 あなたのパスワードはプライバシー保護という意味でも、あなたがログイン している計算機のシステムマネージャーですら知ることはできません。 ですからあなたのパスワードを知り得るのはパスワードを設定したあなた だけです。

それではいよいよパスワードを変更しましょう。 パスワードを変更するコマンドは今使っているシステムでは「yppasswd」です (通常の計算機では「passwd」コマンドを使いますがこのシステムでは 使用しないで下さい)。 自分のユーザー名(仮に u0872000 とします)を付けて、このコマンドを 打つと以下のようなメッセージが出てきます。

    % yppasswd u0872000
    Old NIS password:
    New password:
    Retype new password:

最初の行はあなたの今のパスワードを聞いています。 これはあなたがログイン中に席を外した隙にあなた以外の人が パスワードを変更してしまわないためのものです。 現在のパスワードを他人に知られないように、あなたが打ち込んだ パスワードは端末の画面には現れません。 2行目のメッセージはあなたが設定したい新しいパスワードを聞いています ので、新しいパスワードを入力してください。 最後の行のメッセージはあなたが設定したいパスワードをもう一度 入力するよう要求しています。 これはタイピングミスなどにより、あなたが意図しないパスワードを2行目の メッセージの所で入力してしまい、誰にもわからないパスワードがあなたの ユーザーアカウントに設定されるのを防止するためです。 すべてのメッセージに対して正しく入力したときにのみパスワードの変更が 行われパスワードの変更が成功したというメッセージが出ます。

パスワードはうまく変更できたでしょうか。 適切なパスワードを使用する事はUNIXの世界の住人の義務の一つです。

今週の最初に戻る

エディタの使い方

UNIX計算機で使用できるエディタは沢山ありますが、ここでは emacs の 使い方を学習しましょう。 emacs で edit.txt というファイルを新規に作ってみましょう。

    % mkdir week02
    % cd week02
    % emacs edit.txt &

このコマンドを打つと新しいウィンドウが開きます。 これが emacs のウィンドウです。 emacs を起動するコマンドの最後についている「&」はシェルの機能の一つで、 コマンド(今は emacs)の終了を待たずに次のコマンドプロンプトを出すための ものです。 この「&」マークを付けて実行したコマンドは裏側(Background)のタスクとして 実行されます。 まずは簡単な emacs の使い方から始めましょう。

*emacsの簡単な使い方

今学習したエディタを使ってこの授業で必要な簡単なシェルのカスタマイズを 行ないましょう。

*エディタを使ったシェルのカスタマイズ

更に難しい emacs の使い方はまた改めて学習することにしましょう。

今週の最初に戻る

emacsの簡単な使い方

ではまず何か入力してみましょう。

    Hello !
    line 2
    Bye !

入力とともにカーソルと呼ばれる四角な黒いブロックが移動していると ことと思います。 カーソルは現在入力を行っている位置を示しています。 カーソルの位置はキーボードの矢印キーで移動できます。 ではカーソルを移動して先のテキストに2行を加えてください。

    Hello !
    line 1
    line 2
    line 3
    Bye !

間違って入力した行を一行消すには CONTROL-k(コントロールキーを押しなが らkを打つ)を使用します。 一行消去しましょう。

    Hello !
    line 1
    line 2
    Bye !

ここで日本語の入力を行いましょう。 今使っているUNIXシステムでは emacs 使用時に日本語入力を可能に するために jserver というプロセスが動いています。 そのプロセスと連絡をとるために CONTROL-\(コントロールキーを 押しながら「\」キーを押す)を使います。 日本語入力モードに切り替わったことは emacs の画面左下にある[----]が [ aあ]に変わったことで確認できます。 日本語入力モードを終了するにはもう一度 CONTROL-\を使います。

では日本語入力モードで「konnichiha」(「こんにちは」のローマ字表記)と入力して みましょう。 画面上には平仮名で「こんにちは」と出たはずです。 これを漢字混じりの日本語に変換するにはスペースバーを押してください。 あるユーザーが jserver を最初に使うときには jserver はその人用の辞書 ファイルをつくります。 辞書ファイルを作って良いかどうか問い合わせてきますので(ウィンドウの 下端のメッセージラインに出てきます)その全ての問いに「yes」(y では なく yes)と答えてください。 全部で10回くらい答える必要があります。 出てきた漢字がそれで良ければリターンキーを打ってください。 パソコンのATOKを知っている人ならこの辺まではATOKと同じだと 思うはずです。 それでは以下のように編集しましょう。

    Hello !
    今日は!
    line 1
    line 2
    Bye !
  さようなら!

もう少し長い日本語を打ってみることにします。 「line 2」という行の下に「これは私がユニックス計算機の上で最初につくった 日本語のファイルです。」と入れることにします。 ローマ字表記の日本語を打つのはそれほど難しくないと思います。 句読点「、」と「。」はキーボードではカンマ「,」とピリオド「.」で入力します。 スペースバーを押して漢字に変換してみるとほとんど良いのですが「つくった」 というところが漢字になっています。 この部分を平仮名にするには、まずカーソルを左右の矢印キーで「作った」という 所まで持って行き上向き矢印キーを1回押すと平仮名に変わります。 ついでですからもう一度上向き矢印キーを押すとカタカナに変換されることが わかると思います。 下向き矢印キーを1回押すと平仮名に戻ります。 リターンキーを押すと確定です。 以下のようになったでしょうか。

    Hello !
    今日は!
    line 1
    line 2
    これは私がユニックス計算機の上で最初につくった日本語のファイルです。
    Bye !
  さようなら!

もう少しややこしい日本語を打ってみることにします。 「今やっている課題はエディタの使い方です。」というのはどうでしょう。 「ィ」を打つには「xi」とやって下さい。 変な漢字に変換されているあるいはまったく変換されていない部分があります。 この理由の一つは jserver が文節の区切りをうまく見つけられないせいです。 上の文章だと「今」「やっている」「課題は」「エディタの」「使い方です」 という文節に分かれますが、jserver が見つけた文節(画面上で間があいて いる)はこれとは違っているはずです。 思った通りに日本語を入力しようと思ったらまず文節を正しくしなければなりま せん。 ところで画面上ではカーソルが最初の文節の位置にいます。 この部分が今 jserver が取り扱っている文節です。 この文節の長さを1文字分短くしたければ CONTROL-i を、1文字分長くしたけれ ば CONTROL-o を押します。 文節の長さを変えるだけで正しい漢字が出る場合もありますが、もし正しい漢字が 出ない場合はスペースバーを更に押すあるいは下向き矢印キーを押す(この方が お勧めです)ことで次の候補を出せます。 正しい漢字を通り過ぎてしまった場合は上向き矢印キーで戻ることもできます。 取り扱っている文節の移動は上でも行なったように左右の矢印キーで行ないます。

    Hello !
    今日は!
    line 1
    line 2
    これは私がユニックス計算機の上で最初につくった日本語のファイルです。
    今やっている課題はエディタの使い方です。
    Bye !
  さようなら!

文章は上のようになったでしょうか。 ではこの文章を保存して emacs を終了しましょう。 文章を保存するには CONTROL-x CONTROL-s を使います。 文章が保存されたというメッセージが emacs のウィンドウの一番下の行 (上で言ったメッセージライン)に出たはずです。 emacs を終了するには CONTROL-x CONTROL-c を使います。 確かに日本語の文章が出来たことを確認しましょう。

    % ls
    % cat edit.txt
元に戻る

エデイタを使ったシェルのカスタマイズ

皆さんが最初にこの計算機にログインした時に initsetup というコマンドを 実行しました。 このコマンドはあなたのホームディレクトリーに必要なファイルをコピーし シェルやコマンドのカスタマイズを行ないました。 この授業を行なっていくためには更にもう少しシェルのカスタマイズを行なう 必要があります。

本来シェルなどのカスタマイズはユーザーに任されておりユーザーのホーム ディレクトリーにある「.login」とか「.cshrc」というファイルをエディット して行ないます。

    % cd
    % ls

ホームディレクトリーでファイルを探してもみつかりませんね。 実は ls コマンドは「.」で始まるファイルは通常は表示しません。 これはシェルやコマンドのカスタマイズのためのファイルやディレクトリー を全て表示するとホームディレクトリーの中がごちゃごちゃして見にくくなる からです。 従って通常見えなくても良いファイルは「.」で始まるファイル名を持っています。 もちろんこれらのファイルを見る方法はあります。

    % ls -a

ls コマンドに付いた -a というオプションは「全てのファイルを見せよ」という 意味です。 「.login」とか「.cshrc」のファイルが見えてきましたね。 これらのファイルをエディットすればシェルのカスタマイズができるのですが、 皆さんにいきなりカスタマイズを行なってもらうのは無理がありますから この授業では共通のカスタマイズのファイルを用意しました。 このファイルを使うにはファイル「.login」をエディットして下さい。

    % emacs .login &

色々コマンドが書いてありますね。 ではこのファイルの最後まで行って次の行を入力して下さい。

    source ~asakaguc/semia2.login

ここで使った source とういコマンドは指定したファイルを読んでそれを コマンドとして実行しなさいという意味です。 指定したファイルというのは今は「~asakaguc/semia2.login」です。 もしこのファイルに書いてあることに興味があれば以下のコマンドを実行して 下さい。

    % cat ~asakaguc/semia2.login

大したコマンドは書いていません。 ではファイルを保存して emacs を終了して下さい。

次回あなたがログインした時からこのカスタマイズは有効になります。 今日の授業でもこのカスタマイズは必要なのですがログインし直すのは 面倒なので source コマンドを端末から打つことにします。

    % source ~asakaguc/semia2.login

これでカスタマイズが有効になりました。

元に戻る

mh のススメ

mh でメイルを読む手順はおおむね以下のようになっています。

  1. スプール領域にあるメイルをいったん inbox と呼ばれるフォルダーに入れる
  2. フォルダー inbox に入ったメイルを読む
  3. 読んだメイルを内容ごとに分類して適当なフォルダーに移す

フォルダーという概念がある点が先の mail コマンドより優れています。 それではまずステップ1の inbox へのメイルの読み込みを行います。 コマンドは inc(「incorporate, 取り入れる」という意味でしょうか) を使います。

    % inc

初めてこの inc コマンドを使うときには Mail と inbox というディレクトリーを つくって良いかどうか聞いてきますので y(yes の意味)と答えてください。 これでメイルは inbox に移動しました。 inbox に移動したメイルをリストアップするコマンドが scan(走査)です。

    % scan

scan を実行すると頭に通し番号の付いた行が、溜まっているメイルの数だけ 出てきます。 今は最初の行(1番)の番号の後ろに「+」の記号が付いています。 これはそのメイルが今見ているメイルだということを示しています。 メイルを読むコマンドは show(見せる)です。

    % show

このコマンドを打つとメイルの内容が出てきます。 メイルの頭には「メイルを出した人の情報」、「送り先の情報」、 「サブジェクト」、「メイルの返事の送り先」などのいろいろな情報がついており 本文がそれに続きます。 show コマンド中では端末に1画面分出力すると一旦出力が止まります。 更にメイルの内容を読んでいくにはスペースバーを押します。 途中でメイルを読むのをやめたい場合は(メイルの内容が余りにも長い場合 など)「q」を押します。 これで最初のメイルが読めたと思います。 次のメイルを読むには next(次)コマンドを打ちます。

    % next

次のメイルは読めましたか。 ここでもう一度 scan コマンドを打ってみてください。

    % scan

scan コマンドの出力を見ると「+」の印が2番目のメイルに移動しているのが わかると思います。 これは上で next コマンドを使ったために今読んでいるメイルが2番目に なったためです。 例えば show コマンドを打つと今度は2番目のメイルを表示することに気が つくでしょう。

    % show

つまり何もオプションを付けない show コマンドは「今読んでいる メイルを見せる」コマンドだったのです。 show コマンドで読むべきメイルの番号を指定することもできます。

    % show 2

mh には一つ戻るコマンド prev もありますので1つ戻って最初の メイル(1番)をもう一度読んでみましょう。

    % prev
    % scan

prev コマンドの後の scan コマンドでわかると思うのですが「+」の印は また1番目のメイルへと移動しています。 では1番目のメイルは読んでしまったのでフォルダーに入れることにします。 フォルダーに入れるのは refile(ファイルし直し)というコマンドを使いますが フォルダー名を指定する必要があります。 フォルダー名は中に入っているメイルがわかるようにメイルの内容と一致させ ましょう。 最初のメイルはおそらく自分自身からのメイルですから「me」というフォルダー に入れることにしましょう(もっと良い名前が有ればそれでもかまいません)。

    % refile +me
    % scan

refile コマンドを実行すると me というディレクトリーを新しくつくって 良いかどうか聞いてきますので y と答えてください。 refile コマンドの中のフォルダー名はフォルダー名だということをはっきり させるために頭に「+」を付けます。 scan コマンドで見るとわかるように最初のメイルは inbox からは消えてい ます。 更にメイルを読んでいき適当なフォルダーに入れていきましょう。 教官からのメイルはまた別のフォルダーをつくって入れておきましょう。

    % next
    % refile +me

全てのメイルをフォルダーに入れてしまうと inbox は当然空になります。 この時に scan コマンドを打つと「inbox というフォルダーにはメイルが一つも 無いよ」とメッセージを出します。 存在するフォルダー全てを表示するには folders コマンド、またあるフォルダー の中に入っているメイルを見るには先の scan コマンドをフォルダーを指定して 実行します。

    % folders
    % scan +me
    % folders

最初の folders コマンドでは inbox の所に「+」マークが付いていますが 2回目の folders コマンドでは me の所に「+」マークが移っています。 これは scan コマンドを実行したことで今見ているフォルダーが変更された ためです。 inbox というフォルダーは他のフォルダーと実はそう区別はありません。 異なる点は「inc コマンドを実行してメイルがスプールに溜っている場合は 自動的に今見ているフォルダーが inbox になる」点だけです。 ですから下のようなコマンドも有効です。

    % scan +inbox

どうです、mh の使い方がわかりましたか。

今週の最初に戻る

今週の課題

今週はエディタを使って初めてファイルを作りました。 そのファイルを教官に送りましょう。 ファイルは week02 というディレクトリーに edit.txt という名前で 作りました。 week02 に移動しファイルを mail コマンドにリダイレクトしましょう。 前にも言いましたがサブジェクトは必ずつけるようにし自分にも同時に メイルしておきましょう。 メイルアドレスの間違いはくれぐれも無いように。 アドレスが間違っているメイルは返送されます。

    % cd week02
    % mail -s 'サブジェクト' asakaguc@sci.hiroshima-u.ac.jp u0872xxx \ 
      < edit.txt

せっかくエディタで日本語が打てるようになったのですから日本語で書いた ファイル「japanese.txt」を作り教官に送りましょう。

    % emacs japanese.txt
    % mail -s 'サブジェクト' asakaguc@sci.hiroshima-u.ac.jp u0872xxx \
      < japanese.txt

mh でメイルをフォルダーに分類することができたでしょうか。 分類した証拠を教官に送りましょう。

    % folders | mail -s 'サブジェクト' asakaguc@sci.hiroshima-u.ac.jp \ 
      u0872xxx

これで今週の課題は終了です。

今週の最初に戻る