私のホームページへ - 前の授業へ - 次の授業へ

情報処理IIA(HTML入門)第6回

目次
  1. 端末エミュレータとコマンド
  2. パス名
  3. 演習6.1
  4. ファイルの管理(1)
  5. 演習6.2
  6. アンケート

端末エミュレータとコマンド

これまでに、HTMLの色々なタグを学びました。 あとは、

に関するタグを覚えれば、HTMLの基本をマスターしたといってもよいでしょう。

これらのタグを使うためには、URI(Universal Resource Identifier)というものを指定する必要があります。 URIを正しく書くためには、ファイル名、ディレクトリ名、ホスト名、ドメイン名などに対する理解が必要です。

この授業では、端末エミュレータを用いたファイルの管理について学びます。 この演習を通じて、ファイル名やディレクトリ名などに関する理解を深めます。

端末エミュレータ

はじめに、端末エミュレータを起動してみます。 フロントパネルの「ワークスペース3」ボタンの左にある、端末のアイコンをダブルクリックしてください。 新しくウィンドウが開き、そこに次のようなメッセージが表示されます。

                                [お知らせ]

   * Mew が version upしました。アイコンでのメールの送信は [Compose]      *
   * を先にクリックしてから、[Send]をクリックしてください。(2000/3/27)    *

   * フロッピーディスクが使えるようになりました。*
   http://www-local.twcu.ac.jp/~support/manual/contents.html#use を見てください

        telnet,ftpを安全にするためにOTPを導入しました。
        http://www-local.twcu.ac.jp/cis/otp/howtoftp.html を見てください

   | http://www-local.twcu.ac.jp/cis/may2000.htmlに5月の  |
   | http://www-local.twcu.ac.jp/cis/2000june.htmlに6月の |
   | 情報処理センター開設時間、システム停止の予定を                        |
   | http://www-local.twcu.ac.jp/cis/2000zenki.htmlに     |
   | http://www-local.twcu.ac.jp/cis/2000kouki.htmlに     |
   | 情報処理教室使用授業一覧を載せました。                            |

   * PPP接続については                                           *
   * http://www-local.twcu.ac.jp/cis/PPP.htmlをご覧下さい。          *
konishi@blueberry:~%

端末エミュレータの中では、シェルshell, 具体的にはtcsh)とよばれる機能が働いています。 シェルは、ユーザからの入力を解釈し、それに応じたプログラムを実行させます。 シェルを用いると、コンピュータに登録されているほとんどすべてのプログラムが実行できます。

次に、この端末エミュレータを終了してみます。 e, x, i, t と順にタイプしてください。 間違ってタイプしたときは、Delete キーをタイプすると取り消せます。

konishi@blueberry:~% exit

すべてタイプしましたら、Enter キーをタイプしてください。 端末エミュレータのウィンドウが消えます。

コマンド

さて、もう一度端末エミュレータを起動します。 ウィンドウの左下に次のような文字列が表示されているのに注目してください。

konishi@blueberry:~%

この文字列をプロンプトprompt)といいます。 konishi の部分と blueberry の部分は、ユーザとコンピュータによって異なります。 プロンプトの表示は、シェルがユーザからの入力を待っていることを意味します。

シェルへの入力は、文字列によって行われます。 入力したい文字列の文字を順にタイプしてください。 間違ってタイプしたときは、Delete キーをタイプすると取り消せます。 Enter キーをタイプすると入力終了となります。

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

konishi@blueberry:~% xyz
xyz: Command not found.
konishi@blueberry:~%

シェルに文字列 xyz を入力したわけですが、そのコマンドは見つからないというメッセージが表示されました。 次に、文字列 date を入力してみましょう。

konishi@blueberry:~% date
Thu May 25 09:20:03 JST 2000
konishi@blueberry:~%

今度は、今日の日付と今の時刻が表示されました。

コンピュータに登録されているプログラムには名前がついています。 例えば、今日の日付と今の時刻を出力するプログラムの名前は date です。 シェルは、入力が与えられますと、その文字列をプログラムの名前と見なします。 そして、その名前をある順番にしたがってシステムの中から検索します。 もし見つかれば、その名前のプログラムを実行します。 なければ、コマンドが見つからないというメッセージを表示します。 この例では、xyz という名前が見つからなかったので、コマンドが見つからないと表示され、date という名前が見つかったので、今日の日付と今の時刻が表示されたのです。

実は、シェルへの入力で、プログラムの名前と見なされるのは、空白で区切られた最初の成分だけです。 残りの成分は、そのプログラムへの引数argument)と見なされます。 引数とは、プログラムに与えられる情報です。 例えば、カレンダーを出力するプログラム(名前は cal)では、

konishi@blueberry:~% cal
     2000年  5月
日 月 火 水 木 金 土
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

konishi@blueberry:~% cal 6 2000
     2000年  6月
日 月 火 水 木 金 土
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

konishi@blueberry:~%

引数を書かなければ、今月のカレンダーが出力されます。 引数を書きますと、西暦2000年6月という情報がプログラムに与えられ、その月のカレンダーが出力されます。

プログラムによっては、必ず引数を書かなくてはいけません。 また、引数の形式もプログラムによってまちまちです。 引数の順序を変えますと、普通はプログラムに異なる情報が与えられます。 例えば、cal 2000 6 では、西暦6年2000月となります。

プログラムの名前とその引数の並びを、ここではコマンドcommand)とよぶことにします。 端末エミュレータでは、コマンドを入力することによってコンピュータを操作することになります。 文字列をタイプするのは面倒かもしれませんが、コマンドさえ覚えれば、コンピュータに備わっているほとんどすべての機能を働かせることができるのです。

オンラインマニュアル

プログラムの名前は知っているけれど、何をするものなのか分からないときや、引数の書き方を確認したいときは、マニュアルがすぐに見られれば便利です。 UNIXでは、コマンドでマニュアルが表示できます。 これを、オンラインマニュアルといいます。

オンラインマニュアルを表示するコマンドは man name です。 ここで、name はプログラムの名前です。 例えば、

konishi@blueberry:~% man cal

と入力すると、cal コマンドのマニュアルが表示されます。 マニュアルを表示しているときのキーボードの割り当ては、以下の表の通りです。

表6.1 man コマンドにおけるキーボードの割り当て
キーボード機能
q表示終了
hヘルプの表示
Space一画面分次の表示
Enter一行分次の表示
b一画面分前の表示
k一行分前の表示

演習6.1

ここでは、端末エミュレータを用いる演習を行います。

  1. 端末エミュレータを起動してください。
  2. cal コマンドを使って、ある特定の日(例えば自分の生年月日)が何曜日であるか調べてください。
  3. オンラインマニュアルを用いて、cal コマンドの第1引数が月、第2引数が年であることを確かめてください。
  4. exit コマンドで端末エミュレータを終了してください。

パス名

情報処理Iでは、階層的ファイルシステムについて学びました。 ファイルシステムは、木の構造としてとらえると分かりやすくなります。 以下は、木の構造として描かれたファイルシステムの例です。

       |
    +--+--+-...
    |     |
   home  tmp
    |     :
  +-+---+------+--...
  |     |      |
 b00e  g00a  staff
  :     :      |
             +-+--...
             |
          konishi
             |
    +-----+--+--+------+
    |     |     |      |
   Mail  WABI  WWW  test.doc
    :     :     |
   +--------+---+-----+---------+
   |        |         |         |
ex1.html  images  index.html  info2a
            |                   |
            |             +-----+----+
            |             |          |
         wall.gif      ex2.html  index.html

パス名pathname)とは、ファイルシステムにあるファイルやディレクトリを参照する名前です。 パス名には絶対パス名と相対パス名があります。 ファイルの絶対パス名absolute pathname)とは、記号 / から始まり、ファイルシステムを表す木の根から順にたどり、そのファイルに至るまでのディレクトリ名とファイル名を、記号 / で区切って書き並べたものです。 ディレクトリの絶対パス名も同様に、記号 / から始まり、木の根からそのディレクトリに至るまでのディレクトリ名を、記号 / で区切って書き並べたものです。 例えば、図の最も下のファイル index.html の絶対パス名は

/home/staff/konishi/WWW/info2a/index.html

です。 また、下から2段目のファイル index.html の絶対パス名は

/home/staff/konishi/WWW/index.html

です。 ディレクトリ info2a の絶対パス名は

/home/staff/konishi/WWW/info2a

です。

絶対パス名を用いると、ファイルシステムにあるファイルやディレクトリが確実に参照できます。 しかし、いちいち木の根からディレクトリ名を書き並べるのは大変です。 ファイルの相対パス名relative pathname)とは、木の根からではなく、カレントディレクトリから順にたどり、そのファイルに至るまでのディレクトリ名とファイル名を、記号 / で区切って書き並べたものです。 ここでカレントディレクトリcurrent directory)とは、その時の操作の基準となるディレクトリです。 ディレクトリの相対パス名も同様に、カレントディレクトリから順にたどり、そのディレクトリに至るまでのディレクトリ名を、記号 / で区切って書き並べたものです。 先頭に記号 / がつかないことに注意してください。

             :
          konishi
             |
    +-----+--+--+------+
    |     |     |      |
   Mail  WABI  WWW  test.doc
    :     :     |
   +--------+---+-----+---------+
   |        |         |         |
ex1.html  images  index.html  info2a
            |                   |
            |             +-----+----+
            |             |          |
         wall.gif      ex2.html  index.html

例えば、カレントディレクトリが WWW であるとき、ファイル ex2.html の相対パス名は info2a/ex2.html です。 カレントディレクトリが info2a のときは、単に ex2.html となります。 カレントディレクトリが konishi であるとき、ディレクトリ info2a の相対パス名は WWW/info2a です。 カレントディレクトリが WWW のときは、単に info2a となります。

相対パス名が、カレントディレクトリの下にあるファイルやディレクトリしか参照できないように思えますが、特別なディレクトリ名 .. を使えば、カレントディレクトリの上にあるものも参照できます。 特別なディレクトリ名 .. は、一つ上のディレクトリを意味します。 例えば、カレントディレクトリが info2a であるとき、ディレクトリ images の相対パス名は ../images ですし、ファイル wall.gif の相対パス名は ../images/wall.gif です。


ファイルの管理(1)

情報処理Iでは、ファイルマネージャを用いてファイルの管理をしました。 この授業では、端末エミュレータを用いてファイルの管理をします。 ファイルの管理に関する基本的なコマンドを順に説明します。

pwd コマンド

pwd コマンドは、カレントディレクトリの絶対パス名を出力します。 引数はとりません。

konishi@blueberry:~% pwd
/home/staff/konishi
konishi@blueberry:~%

ls コマンド

ls コマンドは、引数がなければ、カレントディレクトリの内容を並べて出力します。 引数がディレクトリのパス名ならば、そのディレクトリの内容を並べて出力します。 引数がファイルのパス名ならば、そのパス名を出力します。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/
konishi@blueberry:~% ls WWW/index.html
WWW/index.html
konishi@blueberry:~%

less コマンド

less コマンドは、ファイルのパス名を引数に取り、そのファイルの内容を表示します。 表示しているときのキーボードの割り当ては、man コマンドと同じです。

表6.2 less コマンドにおけるキーボードの割り当て
キーボード機能
q表示終了
hヘルプの表示
Space一画面分次の表示
Enter一行分次の表示
b一画面分前の表示
k一行分前の表示

cd コマンド

cd コマンドは、引数がなければカレントディレクトリをホームディレクトリに変更します。 引数がディレクトリのパス名ならば、カレントディレクトリをそのディレクトリに変更します。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% cd WWW
konishi@blueberry:~/WWW% pwd
/home/staff/konishi/WWW
konishi@blueberry:~/WWW% cd ..
konishi@blueberry:~% pwd
/home/staff/konishi
konishi@blueberry:~%

cp コマンド

cp コマンドは引数を2つ取ります。 2つとも、ファイルのパス名です。 cp コマンドは、第1引数のファイルの内容を第2引数のファイルにコピーします。 もし第2引数のファイルがなければ、新しくファイルが作られます。 第2引数のファイルがあれば、第1引数のファイルの内容がそのファイルに上書きされます。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/
konishi@blueberry:~% cp WWW/ex1.html apr20.html
konishi@blueberry:~% ls
apr20.html  Mail/       WABI/       WWW/        test.doc
konishi@blueberry:~% cd WWW
konishi@blueberry:~WWW% cp index.html ex1.html
cp: overwrite `ex1.html'? y
konishi@blueberry:~WWW%

rm コマンド

rm コマンドは、ファイルのパス名を引数に取り、そのファイルを消去します。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% rm test.doc
rm: test.doc を消去しますか (yes/no)? yes
konishi@blueberry:~% ls
Mail/  WABI/  WWW/
konishi@blueberry:~%

mv コマンド

mv コマンドは引数を2つ取ります。 2つとも、ファイルのパス名です。 mv コマンドは、ファイルの名前を第1引数から第2引数に変更(移動)します。 もし第2引数のファイルがなければ、新しくファイルが作られます。 第2引数のファイルがあれば、第1引数のファイルの内容がそのファイルに上書きされます。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/
konishi@blueberry:~% mv WWW/ex1.html apr20.html
konishi@blueberry:~% ls
apr20.html  Mail/       WABI/       WWW/        test.doc
konishi@blueberry:~% ls WWW
images/     index.html  info2a/
konishi@blueberry:~% cd WWW/info2a
konishi@blueberry:~WWW/info2a% ls
ex2.html    index.html
konishi@blueberry:~WWW/info2a% mv ex2.html index.html
mv: index.html を上書きしてもよろしいですか (yes/no)? yes
konishi@blueberry:~WWW/info2a% ls
index.html
konishi@blueberry:~WWW/info2a%

mkdir コマンド

mkdir コマンドは、ディレクトリのパス名を引数に取り、その名前のディレクトリを作成します。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/
konishi@blueberry:~% mkdir WWW/info3a
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/     info3a/
konishi@blueberry:~% ls WWW/info3a
konishi@blueberry:~%

rmdir コマンド

rmdir コマンドは、ディレクトリのパス名を引数に取り、そのディレクトリを消去します。 ディレクトリが消去できるのは、その中にファイルもディレクトリもないときに限ります。

konishi@blueberry:~% ls
Mail/     WABI/     WWW/      test.doc
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/     info3a/
konishi@blueberry:~% ls WWW/info3a
index.html
konishi@blueberry:~% rmdir WWW/info3a
rmdir: WWW/info3a: File exists
konishi@blueberry:~% rm WWW/info3a/index.html
rm: WWW/info3a/index.html を消去しますか (yes/no)? yes
konishi@blueberry:~% ls WWW/info3a
konishi@blueberry:~% rmdir WWW/info3a
konishi@blueberry:~% ls WWW
ex1.html    images/     index.html  info2a/
konishi@blueberry:~%

演習6.2

この演習では、新しくディレクトリを作成し、これまでの演習で作成したHTMLファイルをそこに移します。

  1. pwd コマンドで、カレントディレクトリがホームディレクトリになっていることを確かめてください。
  2. ls コマンドで、カレントディレクトリの中に Mail ディレクトリや WWW ディレクトリがあることを確かめてください。
  3. ls コマンドで、WWW ディレクトリの中にこれまで作成したHTMLファイルがあることを確かめてください。
  4. cd コマンドで、カレントディレクトリを WWW にしてください。
  5. pwd コマンドで、カレントディレクトリが WWW になったことを確かめてください。
  6. ls コマンドで、カレントディレクトリの中にこれまで作成したHTMLファイルがあることを確かめてください。
  7. ls コマンドで、一つ上のディレクトリの中に Mail ディレクトリや WWW ディレクトリがあることを確かめてください。
  8. 新しくディレクトリ名を考え(例えば info2a)、mkdir コマンドで WWW ディレクトリの中にその名前のディレクトリを作成してください。
  9. これまで作成したHTMLファイルの中から一つファイルを選び(例えば ex4.html)、less コマンドでその内容を確認してください。
  10. cp コマンドで、そのファイルを新しいディレクトリの中にコピーしてください。
  11. less コマンドで、コピー先のファイルの内容がコピー元と同一であることを確かめてください。
  12. rm コマンドで、コピー元のファイルを削除してください。
  13. ls コマンドで、コピー元のファイルがなくなったことを確かめてください。
  14. これまで作成したHTMLファイルの中からもう一つファイルを選び(例えば ex3.html)、less コマンドでその内容を確認してください。
  15. mv コマンドで、そのファイルを新しいディレクトリの中に移動してください。
  16. ls コマンドで、新しいディレクトリに移動先のファイルがあることを確かめてください。
  17. less コマンドで、移動先のファイルの内容が移動元と同一であることを確かめてください。
  18. ls コマンドで、移動元のファイルがなくなっていることを確かめてください。
  19. cd コマンドで、カレントディレクトリを一つ上のディレクトリにしてください。
  20. pwd コマンドで、カレントディレクトリがホームディレクトリになったことを確かめてください。

アンケート

今日は、レポート課題を出す代わりに、授業に関するアンケートを行います。 以下の質問に答え、回答を konishi@twcu.ac.jp あてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業の日付けを明記してください。 アンケートに回答すれば、この授業に出席したものと見なします。

質問1: これまでの授業の印象を、項目ごとに括弧の中から選んでください。

  1. 授業の内容は(1. 易しく / 2. どちらかと言えば易しく / 3. 普通に / 4. どちらかと言えば難しく / 5. 難しく)感じる。
  2. 授業の題材は(1. つまらなく / 2. どちらかと言えばつまらなく / 3. 普通に / 4. どちらかと言えばおもしろく / 5. おもしろく)感じる。
  3. 説明のスピードは(1. 遅く / 2. どちらかと言えば遅く / 3. 普通に / 4. どちらかと言えば速く / 5. 速く)感じる。
  4. 説明の仕方は(1. 丁寧に / 2. どちらかと言えば丁寧に / 3. 普通に / 4. どちらかと言えば大ざっぱに / 5. 大ざっぱに)感じる。

質問2: 授業に対して意見や要望などがありましたら答えてください。


私のホームページへ - 前の授業へ - 次の授業へ
このページの複製は、東京女子大学学内に限り許可します。 このページへのリンクを許可します。
2000年5月25日更新
製作・著作:小西善二郎<konishi@twcu.ac.jp>