情報科学概論
2002.4.23
先週のコンピュータセミナーの時間に情報処理センターのアカウントを利用して
電子メールを利用する基本的な操作について学習しました.この時間も,同じよ
うにして電子メールの送信により出席の申告をしてください.
まずはじめに,自分が操作しているパソコンの時計があっているか,確認してく
ださい.出席は授業時間内のメール提出で認定するので,時間があっていないと
出席とは認められない場合があります.時間が狂っている場合は申し出てくださ
い.
時計の確認が終わったら,コンピュータセミナーで説明した方法により出席確認
のメールを出します.「件名」は
のように自分の学生番号を使って下さい.なお,入力ミスがあると出席として認
められないことになりますので,慎重に行ってください.
「ファイルシステム」とは難しそうな言葉に思えますが,ここで扱うのはファイ
ルの所在を統一的に表示するための約束ごとです.LinuxのようなUNIX系のシス
テムでは,扱う対象をすべてファイルとして操作します.自分が作った文章も,
パソコンの中のハードディスクも,接続されているMOディスクも,さらには,マ
ウスやキーボードなどすべてファイルとして扱うことで,種類に関係なく統一的
に操作できるようになっています.
例を挙げるとすると,自分が受け取った電子メールは ~/Mail/inbox/1
のように表示できるファイルであり,操作に利用しているマウスは
/dev/mouse と表示できる,と言った具合いです.しかし,まず
は,ハードディスク内のファイルの表現について学習しましょう.
UNIXでは,ディスクの中の階層構造はrootと呼ばれるトップ階層から始まるよう
になっています.WindowsのようにMS-DOSの流れを組むシステムでは,複数のハー
ドディスクがあると A: ドライブや B: ドライブのように
「ラベル」をつけて取り扱いますが,UNIXではすべてrootから始まる階層構造に
組み入れられます.そのために,複数のドライブがある場合には階層構造のどこ
かに「接ぎ木」して接続させる必要があり,それを「マウント」と呼びます.し
かし,今のところはマウントについてわからなくてもかまいません.
さて,ファイルやディレクトリの所在をそのrootからの道筋で表現したものが
「絶対パス」です.ログインしたときに最初に作業する場所は,自分の「ホーム
ディレクトリ」と呼ばれるところですが,そのディレクトリの場所は絶対パスで
言うと,
/virtual/home/b02**
になるというのは先週もやりました.では,電子メール関係のファイルを保存し
ているディレクトリはどう表現するかと言うと,
/virtual/home/b02**/Mail
になります.絶対パス表現は,最初が必ずスラッシュになることに注意してくだ
さい.
では,自分の Mail ディレクトリに移動するのに,
$ cd /virtual/home/b02**/Mail
のように毎回入力しなければならないとしたら不便ですね.自分が今ホームディ
レクトリにいるのなら,Mail ディレク
トリは ls コマンドの出力結果に含まれています.そのようなときには,rootまで遡らなくても,
自分が今いる場所からの相対的な位置を指定するだけで良いことになっています.
すなわち,
$ cd Mail
とするだけで,Mail ディレクトリに移動することができます.今のよ
うに,ファイルの位置を示すときに先頭にスラッシュが来ない表現を「相対パス」
と言います.相対パスの時には,便利な記号を併用するとさらに楽な操作が可能
です.次のような操作を行って,適宜 pwd コマンドで自分の場所を確
認してみてください.
Windowsのようにドライブに記号がつけられていないUNIXでは,複数のドライブ
(ハードディスクの一つの装置のこと) をどのように表現しているのか,知って
おくのもいいでしょう.ls コマンドでrootディレクトリを表示して
もドライブの状況はわかりません.試しに,
$ ls /
としてみましょう.ここで,スラッシュだけの記号で表現しているのは階層構造
のトップであるルートディレクトリです.トップ階層に繋げられている2番目の
階層の一覧になっているわけです.では,ドライブの状況を見たいときにはどう
するかというと,
$ df
のようにしてみます.df とはdisk
free
の略で,空き領域を調べるコマンドです.結果は次のような形式になって
いるでしょう.
ファイルシステムの項目に実際のデバイスの名前が表示されており,次から容量
が示されています. (もちろん,この使用済の容量などは人が使う度に変化して
いきます.) 1k-ブロックとありますが,単位が1kbyteという意味で,本体のハー
ドディスクの容量は約2GBで,ネットワークマウントしている /home
ディレクトリは56GBであることがわかります.本体にはハードディスクは一つし
かないのですが,ここでは3番と割り当てられています.便宜上ハードディスク
を分割して使用しているためで,1番目の領域がWindowsNTに,2番目の領域が
「スワップ」というものに割り当てられているために3番となっています.
このパソコンには自分のデータをコピーして持ち運ぶためにフロッピーディスク
とMOディスクを利用することができます.操作方法については,コンピュータセ
ミナーの方で後日説明しますが,それらもすべてマウント操作により階層構造の
適切な場所に接続され,利用できるようになります.そのために,用意されてい
るディレクトリが mnt ディレクトリで,予想がつくように mount の略になっていま
す.ここにどのようなディレクトリが用意されているのか見てみましょう.
$ ls /mnt
結果はどうだったでしょうか.実際のファイルとしては,フロッピーは
/dev/fd0 というものなのですが,そのファイルを /mnt/floppy
に「接ぎ木」して利用することになっています.CD-ROMの本来のファイル名も
/dev/scd0 というややこしいものになっていますが,これらはすべ
てLinuxにおいて規則性を持ってつけられています.通常パソコンにはフロッピー
ドライブは一つであり,CD-ROMも一つでしょうが,装置の状況が許せば複数接
続することも可能です.そこで,フロッピーやそのほかの装置 (デバイスと呼
びます) に固有の記号をつけて,0から始まる数字で順番を表すようにしてあり
ます.最初は難しく感じるでしょうが,使うものは限られているので使い始め
ればわかってくるようになります.図1にはデバイスをファイルシステムに接ぎ
木する様子を示しています.
図1 /mntディレクトリのfloppyディレクトリにフロッピー
ディスクをマウントする.
マルチユーザに対応しているUNIXですので,その端末を利用している他の人のデー
タや情報が見えてしまうと問題です.また,勝手に他の人のファイルを書き換え
たりするとたいへんなことになってしまいます.そうならないようにファイルに
は「属性」がついていて保護モードを設定することができるようになっています.
確かめてみるためにはまずその情報を表示させる必要があります.ファイルを
表示させる ls コマンドに -l というオプションをつけて
みましょう.オプションの意味はlongを表していま
す.
$ ls -l
上記のコマンドをホームディレクトリで実行するとたとえば以下のような表示に
なります.
ここではファイル名が一番最後のコラム(列)に表示されていてそれ以前に種々の
情報が出力されています.最初の-rw-rw-r-- が保護モードで,所有者
とグループの名前もあとに表示されています.保護モードの記号は r は読むこ
とが可能 (read),w は書くことが可能 (write),そしてまだ見えないでしょう
が x が実行可能 (execute) を意味しています.最初のハイフンの次から読み書
き実行の3つの属性について,所有者,グループ,その他のユーザへの対応が示
されています.詳しいことはいずれまた説明します.
実際に自分でディレクトリを作ることを行います.今後,この授業ではRubyを使っ
たスクリプトをたくさん書いていくことになります.ホームディレクトリですべ
ての作業を行っているとファイルがどんどん増えて扱いにくくなります.そのた
めに,必要に応じてディレクトリを作っていくことが大切です.コンピュータセ
ミナーの方で学習する「ファイルマネージャ」を利用すると,マウスによる操作
で新しいフォルダを作ることが簡単にできますが,ここでは,ターミナルを利用
したコマンド操作を学習します.
ホームディレクトリにRubyスクリプト作成用のディレクトリを作ることにします.
ディレクトリの名前は script としましょう.ディレクトリを作るコマンドは
mkdir です.これはmake directory の
略です.次のような操作をします.
$ mkdir script
コマンドを実行したら ls コマンドで確かめてみてください.また,
先ほど試した ls -l だとどうなるかも試してみましょう.保護モード
を表す記号の先頭がscriptディレクトリはハイフンではなくdになっています.d
はディレクトリの略です.次回からは,ターミナルを起動したら,
$ cd script
として,作業用のscriptディレクトリに移動してから作業をするようにしましょ
う.
本日のテキストに記載されていることの応用や,「基礎講座」教科書のLESSON 3
の内容を各自やってみましょう.
授業の終りにAおよびBクラスの宿題について説明しますので,アナウンスに注意してください.
gairon 4-23 attend s0240**
$ cd /etc
$ pwd
$ cd ~/Mail
$ pwd
$ cd ../..
$ pwd
$ cd ../etc
$ pwd
$ df
ファイルシステム 1k-ブロック 使用済 使用可 使用率% マウント場所
/dev/hda3 2071416 1158060 808132 59% /
sv003:/home 56448102 7442729 46003774 14% /virtual/home
total 1
-rw-rw-r-- 1 b0282 b0282 821 Apr 10 19:29 Xrootenv.0
目次ページに戻る