Web サーバの負担を軽減するため、キャンパス内では iplht コマンドを使っ てください。

慶應義塾大学の授業以外での無断利用、複製はご遠慮下さい。
Copyright (c) 1999 慶應義塾大学


第5週: ファイルとコマンド (1)

今週は, ファイルの操作方法について勉強します.


5. 1 ファイルとディレクトリ
5. 2 ファイルとディレクトリを扱うコマンド
5. 3 練習問題
5. 4 Mule によるファイルの操作
5. 5 オペレーティングシステム
5. 6 宿題

5.1 ファイルとディレクトリ

ファイルとディレクトリ (81ページ)

ファイル(file)とは, コンピュータの中で情報を入れておく箱のようなものです. 文章や数値データを入れておきます.

ディレクトリ(directory)も同じように箱のよ うなものですが,この中にはファイルや他のディレクトリを入れることができ ます.CNS では,各ユーザにそれぞれホームディレクトリ (home directory)が割り当てられ,その人が作ったファイルは特に指 定しない限りその中に入ります.こうすることで,他の人のファイルと混ざる 心配がなくなります.また,ホームディレクトリの中に好きなディレクトリを 作り,ファイルを目的別や種類別に整理することもできます.

注意: 単に 「ファイル」と言ったときは,ディレクトリもファイルの一種として扱うこと が多いので,特にディレクトリではないことを強調したいときは,「通常ファ イル」と言います.

Mule は通常ファイルの内容だけでなく,ディレクトリの内容を見ることも できます.

  1. File メニューの Open Directory ... をクリックします.
  2. エコーエリアに Dired (directory): ~/ と表示されます. ~/ はホームディレクトリを表す記号です.ここで別のディレクトリ を指定することもできますが,今はこのままReturnキーを押します.
  3. 次のようなバッファが表示されます.
    種別
    通常ファイルは '-',ディレクトリは 'd' です.
    アクセス権
    そのファイルを誰が読み書きできるかということです.後 で詳しく説明します.
    参照数
    そのファイルが ディレクトリのエントリになっている回数です.
    所有者
    普通はそのファイルを作ったユーザです.
    大きさ
    単位はバイトです.
    更新日
    ファイルの内容が最後に更新された時間です.
    ファイル名
    自分で作るファイルには好きな名前を付けることができま すが,日本語はソフトによって扱い方が違ったりしますし,記号 の多くは特別な意味で使われます.アルファベット,数字,'-', '.' だけを使うのが無難です.

ディレクトリの中にはいくつかのディレクトリを入れることができ,その 中には,さらにまたディレクトリを入れることができます.外側の大きい方の ディレクトリを親ディレクトリ,中に入っている方を子ディレクトリ,または サブディレクトリと呼びます.これを絵に描くとき,例えば directory1 の中 に directory2 と file3 があるとすると,directory1 の下に directory2 と file3 を書いて,線で結びます.さらにdirectory2 の中に入っているファイ ルも同じようにして書いていきます.すると,木を逆さにしたような形になる ので,これをツリー構造(tree structure)と呼び ます.根にあたるところ(図では一番上)に一番大きなディレクトリがあり, そこから枝別れするところにディレクトリがあり,そして葉にあたるところに は通常ファイルがあります.

CNS では,すべてのファイルは巨大なツリー構造のどこかに位置しており, ディレクトリをたどっていくことによってアクセスすることができます.この 時,どのようにディレクトリをたどるかを書き表したものを,そのファイルの パス名(path name)と呼びます.

パス名には,絶対パス名(absolute path name)と 相対パス名(relative path name)があります.

絶対パスと相対パスは,先頭が,'/' かどうかで判断されます. また,先頭にある '~' は,ホームディレクトリを表すことがありま す.'~' だけなら自分のホームディレクトリ,'~ユーザ名 ' ならそのユーザのホームディレクトリを表します.例えば, ~/.signature は自分の署名ファイル, ~t99000xx/.signature は t99000xx というユーザの署名ファイルを 表します.

注意: '~' がホームディレクトリを表すのは省略形なので,ソフトによっ ては使えない場合もあります.そのような時は絶対パス名 /home/ユーザ 名 を使います.

Mule で Open File...Open Directory... を使うとき は,エコーエリアに現在のカレントディレクトリ (例えば,ログインした直後 はホームディレクトリ '~/') がすでに入力された状態になるので, 続けて相対パス名を入力すると,全体として絶対パス名になります.あるいは, カレントディレクトリの全部または一部を消去して,任意の絶対パス名を入力 することもできます.

5.2 ファイルとディレクトリを扱うコマンド

端末ウィンドウではシェル(shell)というソフトが 動いていて,コマンド(command)を入力することに より,いろいろな機能を実行することができます.

端末ウィンドウの中に '%' が表示されているのは,コマンドを受け 付ける準備ができていることを示しています.ここでキーボードからコマンド を入力して Return キーを押すと,そのコマンド を実行し,結果を表示して次の '%' が表示されます.何かの理由で コマンドの実行が終了しないと,次の '%' が表示されません.その ような時は C-c を押してコマンドを強制終了させます.

5.3 練習問題

宝探しゲームをしましょう. まず,始めるために
/pub/sfc/ipl/1a/exercise/islands
というディレクトリに移ってください.

5.4 Mule によるファイルの操作

Mule からコマンドを呼び出して,ファイルを操作することができます. Open Directory ... でディレクトリの内容を表示した状態で,次のよ うな操作ができます.

5.5 オペレーティングシステム

ファイルを管理したり,コマンドを実行したりする縁の下の力持ちのソフトの ことを,オペレーティングシステム(operating system)と呼びます.エディタやブラウザなどのソフトは,オペレーティング システム無しでは動くことができません.

オペレーティングシステムにはたくさんの種類があり,ソフトを作るときは通 常,特定のオペレーティングシステムを想定して作るので,他のオペレーティ ングシステムを使って動かすことはできません.CNS のほとんどのコンピュー タは UNIX を使用しています.

UNIX は1969年に最初のバージョンができた,長い歴史を持つオペレーティン グシステムです.主として大学や企業の技術部門で使われていて,インターネッ ト技術の多くも UNIX を用いて開発されました.また,その信頼性の高さから, インターネットや企業内ネットワークのサーバ用オペレーティングシステムと しても普及しています.

UNIX にもいろいろな種類がありますが,最近注目を集めているのは,オープ ンソース運動によって開発されたバージョンです.オープンソース運動とは, 特定の企業に支配されたソフトではなく,世界中の技術者がボランティアとし て参加し,自分達のためにソフトを作ろうという運動です.このようにしてで きたUNIX として,Linux, Free BSD があります.特に Linux は個人用 OS としても急激に普及しつつあることで話題になっています.

5.6 宿題

  1. /pub/sfc/ipl/1a/exercise/islands 以下のツリー構造を全部調べて 紙に書きなさい.
  2. 自分のホームディレクトリの中に josho というディレクトリを作り, 今までに授業で作ったファイルをその中に移動させなさい.
  3. サーチエンジンで「オープンソース」について調べなさい.

目次のページへ行く