3. 1 長い文章の編集 3. 2 ファイルとバッファとウィンドウ 3. 3 Copy and Paste 3. 4 練習問題 3. 5 中断と取り消し 3. 6 ファイルとディレクトリ 3. 7 ファイルのパス名 3. 8 練習問題 3. 9 コマンド 3.10 ファイルとディレクトリを扱うコマンド 3.11 練習問題 3.12 オペレーティングシステム 3.13 宿題 3.14 おまけ
emacs で画面に入りきらないほど長い文章を編集する時は, 一部分だけが表示されています. 表示位置を変更することをスクロール(scroll)すると言います.
まず,長い文章の例として Emacs Tutorial を見てみましょう.これは,Emacs の入門用テキストですが,今はスクロールの練習が目的なので,内容を読む必要はありません.[Help]→[Emacs Tutorial] C-h t で表示されます.
emacs は複数のファイルと複数のバッファと複数のウィンドウを同時に扱えます.
現在見えているバッ ファを切り替えるためには,次のようにします.
この例は,test と test2 を編集しているときの [Buffers] メニューです.*scratch* は,emacs を起動したときに最初に表示されるバッファです.
emacs では文章の一部を別の場所にコピーすることができます.
領域を指定するとき,先頭で左ボタンをクリックし,最後で右ボタンを2回クリックすると,その領域が削除されるので,コピーではなく移動になります.
emacs で間違った操作をしてしまっても,慌てずに元の状態に戻しましょう.
操作によっては,ウィンドウが分割されたり,新しいバッファが表示されたり します.そのような場合は,不要なウィンドウを消去し,[Buffers]
メニューで元のバッファを選択しましょう.
ファイルとは, コンピュータの中で情報を入れておく箱のようなものです. 文章や数値データを入れておきます.
ファイルの数が増えてくると,それを分類して整理しないと収拾がつかなくなります.そのためにディレクトリ(directory)を使います.
注意:
単に 「ファイル」と言ったときは,ディレクトリもファイルの一種として扱うことが多いので,特にディレクトリではないことを強調したいときは,「通
常ファイル」と言います.
emacs でディレクトリの内容を見るには次のようにします.
今は,ホームディレクトリの中には先週作ったファイルと,いくつかの設定ファイル(最初にアカウントを作った時にできたもの)があります.
ディレクトリの中にはいくつかのディレクトリを入れることができ,その中には,さらにまたディレクトリを入れることができます.外側の大きい方のディレクトリを親ディレクトリ(parent
directory),中に入っている方を子ディレクトリ(child
directory),またはサブディレクトリ(subdirectory)と呼びます.ホームディレクトリは,home
という名前の親ディレクトリの中に,各ユーザのログイン名の名前がついたサブディレクトリが入っています.
ユーザごとにディレクトリが分かれているので,同じ名前のファイルを作っても混乱しません.
これを絵に描くとき,例えば directory1 の中 に directory2 と file3 があるとすると,directory1
の下に directory2 と file3 を書いて,線で結びます.さらにdirectory2 の中に入っているファイ
ルも同じようにして書いていきます.すると,木を逆さにしたような形になる ので,これをツリー構造(tree
structure)と呼びます.根にあたるところ(図では一番上)に一番大きなディレクトリがあり,
そこから枝別れするところにディレクトリがあり,そして葉にあたるところには通常ファイルがあります.
CNS では,すべてのファイルは巨大なツリー構造のどこかに位置しており, ディレクトリをたどっていくことによってアクセスすることができます.この時,どのようにディレクトリをたどるかを書き表したものを,そのファイルのパス名(path
name)と呼びます.
パス名には,絶対パス名(absolute path name)と
相対パス名(relative path name)があります.
ディレクトリをたどる出発点は,ツリー構造の一番上にあるルートディレクトリ(root
directory)です.ルートディレクトリには名前がなく,常に絶対パス名
'/' で示されます.
あるファイルの絶対パス名は,ルートディレクトリから,そのファイルま での道筋のディレクトリ名を
'/' で区切って並べたものです.例え ば,上の図でreport1の絶対パス名は
となります. 相対パス名はディレクトリをたどる出発点が,ルートディレクトリではな く,現在作業しているディレクトリになります.これをカレントディレクトリ(current
directory)またはワー キングディレクトリ(working
directory)と呼びます.カレントディレ クトリからツリー構造を下にたどっていくときは,ディレクトリ名を
'/' で区切って並べます.例えば,上の図で /home/t95000tk がカレントディレクトリであった時,
report1 の相対パス名は
ツリー構造を上に向かってたどるときは,ディレクトリ名ではなく, '..'
という記号を使います.例えば,上の図で /home/t95000tk/lecture がカレントディレクトリの時,
/home/t95000tk の相対パス名は
カレントディレクトリ自身の相対パス名は '.' で表します.
絶対パスと相対パスは,先頭が,'/' かどうかで判断されます. また,先頭にある
'~' は,ホームディレクトリを表すことがあります.'~' だけなら自分のホームディレクトリ,'~ユーザ名'
ならそのユーザのホームディレクトリを表します.例えば, ~/.signature
は自分の署名ファイル, ~t99000xx/.signature は t99000xx というユーザの署名ファイルを
表します.
注意:
'~' がホームディレクトリを表すのは省略形なので,ソフトによっては使えない場合もあります.そのような時は絶対パス名
'/home/ユーザ名' を使います.
emacs でファイル名を入力するとき は,ミニバッファに現在のカレントディレクトリ
(例えば,ログインした直後はホームディレクトリ '~/') がすでに入力された状態になるので,
続けて相対パス名を入力すると,全体として絶対パス名になります.あるいは, カレントディレクトリの全部または一部を消去して,任意の絶対パス名を入力することもできます.
宝探しゲームをしましょう.emacs で絶対パス名を指定してディレクトリを表示し,そこからツリー構造をたどっていきます.
まず,始めるために /pub/sfc/ipl/1a/exercise/islands というディレクトリに移ってください.
ここには3つの島(island-a, island-b, island-cという名のディレクトリ)があり,各々の島には3つの港(port-a,
port-b, port-cという名のディレクトリ)があります.そして,どこかの港に宝(treasureという名のファイル)があります.これを見つけて内容を表示するのが目的です. コマンド(command)は,計算機に対する命令です.一般
にはマウスやメニューによる命令もコマンドですが,ここではキーボードから文字で入力するものを指します. コマンドの例として,dateという名前のコマンドを実行してみましょう.
これは日本時間ですが,グリニッジ標準時を出すには,date の後に空白と
-u を付け加えます. もう一つ,cal コマンドをやってみましょう. ファイルを管理したり,コマンドを実行したりする縁の下の力持ちのソフトのことを,オペレーティングシステム(operating
system)と呼びます.エディタや電子メールのソフトは,オペレーティングシステム無しでは動くことができません.
オペレーティングシステムにはたくさんの種類があります.ソフトを作るときは通
常,特定のオペレーティングシステムを想定して作るので,他のオペレーティングシステムを使って動かすことはできません.CNS
のほとんどのコンピュー タは UNIX というオペレーティングシステムを使用しています.
UNIX は1969年に最初のバージョンができた,長い歴史を持つオペレーティングシステムです.主として大学や企業の技術部門で使われていて,インターネッ
ト技術の多くも UNIX を用いて開発されました.また,その信頼性の高さから, インターネットや企業内ネットワークのサーバ用オペレーティングシステムとしても普及しています.
UNIX にもいろいろな種類がありますが,最近注目を集めているのは,オープ ンソース運動によって開発されたバージョンです.オープンソース運動とは,
特定の企業に支配されたソフトではなく,世界中の技術者がボランティアとし て参加し,自分達のためにソフトを作ろうという運動です.このようにしてで きたUNIX
として,Linux, FreeBSD があります.特に Linux はパソコン用 OS としても急激に普及しつつあることで話題になっています.
emacs でディレクトリの内容を表示するバッファは dired モードと言い,表示だけでなく,コマンドを起動してファイル操作をすることもできます. dired のマニュアルは次のようにして読むことができます.
慶應義塾大学の授業以外での無断利用、複製はご遠慮下さい。3.6 ファイルとディレクトリ
3.7 ファイルのパス名
絶対パス名
/home/t95000tk/lecture/report1
相対パス名
lecture/report1
となります.また,/home/t95000tk/lecture がカレントディレクトリの時は
report1
となります.あるファイルを使いたいときは,そのファイルが入っているディレクトリをカレントディレクトリにしてから作業すると,相対パスによる指定がファイル名だけになるので,短くて便利です.
..
で,/home の相対パス名は
../..
になります.また,/home/t95000tk/report3 の相対パス名は
../report3
になります.
3.8 練習問題
3.9 コマンド
% date
% date
2000年04月17日 (月) 18時05分07秒 JST
%
% date -u
2000年04月17日 (月) 09時05分07秒 GMT
%
% cal
2000年 4月
日 月 火 水 木 金 土
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
%
% cal 3 2001
2001年 3月
日 月 火 水 木 金 土
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
%
3.10 ファイルとディレクトリを扱うコマンド
% 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
%
% ls
test
% mkdir testdir
% ls
test 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
3.11 練習問題
としてください.
% cd /pub/sfc/ipl/1a/exercise/islands
で親ディレクトリに移動します.
% cd ..
3.12 オペレーティングシステム
3.13 宿題
3.14 おまけ
[目次]
[前回]
[次回]
Copyright (c) 2000 慶應義塾大学