これまでに、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 コマンドのマニュアルが表示されます。 マニュアルを表示しているときのキーボードの割り当ては、以下の表の通りです。
キーボード | 機能 |
---|---|
q | 表示終了 |
h | ヘルプの表示 |
Space | 一画面分次の表示 |
Enter | 一行分次の表示 |
b | 一画面分前の表示 |
k | 一行分前の表示 |
ここでは、端末エミュレータを用いる演習を行います。
情報処理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 です。
情報処理Iでは、ファイルマネージャを用いてファイルの管理をしました。 この授業では、端末エミュレータを用いてファイルの管理をします。 ファイルの管理に関する基本的なコマンドを順に説明します。
pwd コマンドは、カレントディレクトリの絶対パス名を出力します。 引数はとりません。
konishi@blueberry:~% pwd /home/staff/konishi konishi@blueberry:~%
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 コマンドは、ファイルのパス名を引数に取り、そのファイルの内容を表示します。 表示しているときのキーボードの割り当ては、man コマンドと同じです。
キーボード | 機能 |
---|---|
q | 表示終了 |
h | ヘルプの表示 |
Space | 一画面分次の表示 |
Enter | 一行分次の表示 |
b | 一画面分前の表示 |
k | 一行分前の表示 |
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 コマンドは引数を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 コマンドは、ファイルのパス名を引数に取り、そのファイルを消去します。
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 コマンドは引数を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 コマンドは、ディレクトリのパス名を引数に取り、その名前のディレクトリを作成します。
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 コマンドは、ディレクトリのパス名を引数に取り、そのディレクトリを消去します。 ディレクトリが消去できるのは、その中にファイルもディレクトリもないときに限ります。
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:~%
この演習では、新しくディレクトリを作成し、これまでの演習で作成したHTMLファイルをそこに移します。
今日は、レポート課題を出す代わりに、授業に関するアンケートを行います。 以下の質問に答え、回答を konishi@twcu.ac.jp あてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業の日付けを明記してください。 アンケートに回答すれば、この授業に出席したものと見なします。
質問1: これまでの授業の印象を、項目ごとに括弧の中から選んでください。
質問2: 授業に対して意見や要望などがありましたら答えてください。