Web サーバの負担を軽減するため、キャンパス内では iplht コマンドを使っ てください。
慶應義塾大学の授業以外での無断利用、複製はご遠慮下さい。
Copyright (c) 1999 慶應義塾大学
今週は, ファイルの操作方法について勉強します.
5. 1 ファイルとディレクトリ 5. 2 ファイルとディレクトリを扱うコマンド 5. 3 練習問題 5. 4 Mule によるファイルの操作 5. 5 オペレーティングシステム 5. 6 宿題
ファイルとディレクトリ (81ページ)
ファイル(file)とは, コンピュータの中で情報を入れておく箱のようなものです. 文章や数値データを入れておきます.
ディレクトリ(directory)も同じように箱のよ うなものですが,この中にはファイルや他のディレクトリを入れることができ ます.CNS では,各ユーザにそれぞれホームディレクトリ (home directory)が割り当てられ,その人が作ったファイルは特に指 定しない限りその中に入ります.こうすることで,他の人のファイルと混ざる 心配がなくなります.また,ホームディレクトリの中に好きなディレクトリを 作り,ファイルを目的別や種類別に整理することもできます.
注意
Mule は通常ファイルの内容だけでなく,ディレクトリの内容を見ることも できます.
ディレクトリの中にはいくつかのディレクトリを入れることができ,その 中には,さらにまたディレクトリを入れることができます.外側の大きい方の ディレクトリを親ディレクトリ,中に入っている方を子ディレクトリ,または サブディレクトリと呼びます.これを絵に描くとき,例えば directory1 の中 に directory2 と file3 があるとすると,directory1 の下に directory2 と file3 を書いて,線で結びます.さらにdirectory2 の中に入っているファイ ルも同じようにして書いていきます.すると,木を逆さにしたような形になる ので,これをツリー構造(tree structure)と呼び ます.根にあたるところ(図では一番上)に一番大きなディレクトリがあり, そこから枝別れするところにディレクトリがあり,そして葉にあたるところに は通常ファイルがあります.
CNS では,すべてのファイルは巨大なツリー構造のどこかに位置しており, ディレクトリをたどっていくことによってアクセスすることができます.この 時,どのようにディレクトリをたどるかを書き表したものを,そのファイルの パス名(path name)と呼びます.
パス名には,絶対パス名(absolute path name)と 相対パス名(relative path name)があります.
ディレクトリをたどる出発点は,ツリー構造の一番上にあるルートディレクトリ(root directory)です.ルートディ レクトリには名前がなく,常に絶対パス名 '/' で示されます.
あるファイルの絶対パス名は,ルートディレクトリから,そのファイルま での道筋のディレクトリ名を '/' で区切って並べたものです.例え ば,上の図でreport1の絶対パス名は
/home/t95000tk/lecture/report1となります.
Mule では絶対パス名を指定してディレクトリを表示し,そこからツリー構 造をたどっていくことができます.
不要なバッファは File メニューの Kill Buffer で削除する と,その前に表示されていたバッファが再び表示されます.他のディレクトリ やファイルの内容も表示してみましょう.
student99の内容を見たいとき,絶対パス名を知っていれば, Open File... で /pub/sfc/sfc_jinmei/student99 と指定す ることもできます.
相対パス名はディレクトリをたどる出発点が,ルートディレクトリではな く,現在作業しているディレクトリになります.これをカ レントディレクトリ(current directory)またはワー キングディレクトリ(working directory)と呼びます.カレントディレ クトリからツリー構造を下にたどっていくときは,ディレクトリ名を '/' で区切って並べます.例えば,上の図で /home/t95000tk がカレントディレクトリであった時, report1 の相対パス名は
lecture/report1となります.また,/home/t95000tk/lecture が カレントディレクトリの時は
report1となります.あるファイルを使いたいときは,そのファイルが入っているディ レクトリをカレントディレクトリにしてから作業すると,相対パスによる指定 がファイル名だけになるので,短くて便利です.
ツリー構造を上に向かってたどるときは,ディレクトリ名ではなく, '..' という記号を使います.例えば,上の図で /home/t95000tk/lecture がカレントディレクトリの時, /home/t95000tk の相対パス名は
..で,/home の相対パス名は
../..になります.また,/home/t95000tk/report3 の相対パス名は
../report3になります.
カレントディレクトリ自身の相対パス名は '.' で表します.
絶対パスと相対パスは,先頭が,'/' かどうかで判断されます. また,先頭にある '~' は,ホームディレクトリを表すことがありま す.'~' だけなら自分のホームディレクトリ,'~ユーザ名 ' ならそのユーザのホームディレクトリを表します.例えば, ~/.signature は自分の署名ファイル, ~t99000xx/.signature は t99000xx というユーザの署名ファイルを 表します.
注意
Mule で Open File... や Open Directory... を使うとき
は,エコーエリアに現在のカレントディレクトリ (例えば,ログインした直後
はホームディレクトリ '~/') がすでに入力された状態になるので,
続けて相対パス名を入力すると,全体として絶対パス名になります.あるいは,
カレントディレクトリの全部または一部を消去して,任意の絶対パス名を入力
することもできます.
端末ウィンドウではシェル(shell)というソフトが
動いていて,コマンド(command)を入力することに
より,いろいろな機能を実行することができます.
端末ウィンドウの中に '%' が表示されているのは,コマンドを受け
付ける準備ができていることを示しています.ここでキーボードからコマンド
を入力して Return キーを押すと,そのコマンド
を実行し,結果を表示して次の '%' が表示されます.何かの理由で
コマンドの実行が終了しないと,次の '%' が表示されません.その
ような時は C-c を押してコマンドを強制終了させます.
Mule からコマンドを呼び出して,ファイルを操作することができます.
Open Directory ... でディレクトリの内容を表示した状態で,次のよ
うな操作ができます.
ファイルを管理したり,コマンドを実行したりする縁の下の力持ちのソフトの
ことを,オペレーティングシステム(operating
system)と呼びます.エディタやブラウザなどのソフトは,オペレーティング
システム無しでは動くことができません.
オペレーティングシステムにはたくさんの種類があり,ソフトを作るときは通
常,特定のオペレーティングシステムを想定して作るので,他のオペレーティ
ングシステムを使って動かすことはできません.CNS のほとんどのコンピュー
タは UNIX を使用しています.
UNIX は1969年に最初のバージョンができた,長い歴史を持つオペレーティン
グシステムです.主として大学や企業の技術部門で使われていて,インターネッ
ト技術の多くも UNIX を用いて開発されました.また,その信頼性の高さから,
インターネットや企業内ネットワークのサーバ用オペレーティングシステムと
しても普及しています.
UNIX にもいろいろな種類がありますが,最近注目を集めているのは,オープ
ンソース運動によって開発されたバージョンです.オープンソース運動とは,
特定の企業に支配されたソフトではなく,世界中の技術者がボランティアとし
て参加し,自分達のためにソフトを作ろうという運動です.このようにしてで
きたUNIX として,Linux, Free BSD があります.特に Linux
は個人用 OS としても急激に普及しつつあることで話題になっています.
5.2 ファイルとディレクトリを扱うコマンド
% ls
Mail Wnn test
%
% ls -a
. .cshrc .signature Wnn
.. .login Mail test
%
% ls -l
total 813
drwx------ 4 hattori 512 Apr 15 17:50 Mail
drwxrwxrwx 4 hattori 512 May 6 16:01 Wnn
-rw-r--r-- 1 hattori 76 Apr 19 15:10 test
% ls -a -l
total 1736
drwxr-xr-x 4 hattori 2048 Sep 7 15:31 .
drwxr-xr-x 58 root 1024 Jul 24 14:42 ..
-rw-r--r-- 1 hattori 341 Apr 5 12:39 .cshrc
-rw-r--r-- 1 hattori 221 Apr 5 12:39 .login
-rw-r--r-- 1 hattori 44 May 10 16:57 .signature
drwx------ 4 hattori 512 Apr 15 17:50 Mail
drwxrwxrwx 4 hattori 512 May 6 16:01 Wnn
-rw-r--r-- 1 hattori 76 Apr 19 15:10 test
%
% ls Mail
context drafts inbox
% ls -a -l Mail
total 9
drwxr-xr-x 4 hattori 512 Jun 3 15:19 .
drwxr-xr-x 4 hattori 2048 Sep 7 15:31 ..
-rw-r--r-- 1 hattori 42 Jun 3 15:19 .mew-from-alist
-rw-r--r-- 1 hattori 67 Jun 3 15:19 .mew-id-alist
-rw-r--r-- 1 hattori 23 Jun 3 15:23 context
drwxr-xr-x 3 hattori 512 Jun 3 15:41 drafts
drwx------ 2 hattori 1024 Jun 3 15:19 inbox
%
% more test
My name is Tarou Keio.
I live in near Shonandai.
I like clasical music.
My favorite composer is Brahms.
%
% pwd
/a/fs0044a/hattori
%
% cd Mail
% pwd
/a/fs0044a/hattori/Mail
% ls
context drafts inbox
% cd
% pwd
/a/fs0044a/hattori
%
% mkdir testdir
% ls -a testdir
. ..
%
% ls
test testdir
% cp test temp
% ls
temp test testdir
% cp test testdir
% ls testdir
test
%
% ls
temp test testdir
% mv temp temp2
% ls
temp2 test testdir
% mv temp2 testdir
% ls
test testdir
% ls testdir
temp2 test
% ls
temp2 test
% rm temp2
% ls
test
% ls
test testdir
% rmdir testdir
% ls
test
5.3 練習問題
宝探しゲームをしましょう.
まず,始めるために
/pub/sfc/ipl/1a/exercise/islands
というディレクトリに移ってください.
と実行してみてください
% more treasure
でヒントを得ることができます.
% more key
5.4 Mule によるファイルの操作
5.5 オペレーティングシステム
5.6 宿題