カレント・ワーキング・ディレクトリとホーム・ディレクトリ

共通科目情報処理(実習)、国際総合学類対象、1997年01月24日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/kokusai2-enshu-1996/1997-01-24 /unix-home-cwd.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo
http://www.ipe.tsukuba.ac.jp

■ホーム・ディレクトリ

ホーム・ディレクトリ(home directory)とは、個人のファイルを保存 するためのディレクトリです。

自分のホーム・ディレクトリは、~/ または、~で表わされま す。(注意:画面では、「~」は、「」 (tilde) または 「(上線)」と表示されます。)

~」には、他のユーザのホーム・ディレクトリを示す機能もありま す。たとえば、次のように打つと、ユーザ名(ログイン名) yshinjo のホーム・ディレクトリの内容を表示することができ ます。

----------------------------------------------------------------------
% ls ~yshinjo [←]
----------------------------------------------------------------------

注意すべきことは、「~/mbox」と「~mbox」(/なし) の意味が違うということです。前者は、「自分のホーム・ディレクトリの下に あるmbox」という意味です。後者は、「mboxという名 前のユーザ名を持つ人のホーム・ディレクトリ」です。

■カレント・ワーキング・ディレクトリ

UNIXでは、ディレクトリとファイルは、1つの大きな 木構造になります。この木の中で、注目 するディレクトリをプロセス(実行中のプログラム)ごとに1つだけ決めるこ とができます。これを、カレント・ワーキング・ディレクトリ(the current working directory)と呼びます。

ls コマンドは、引数を与えなかった場合、カレント・ワーキン グ・ディレクトリの内容を表示します。ログインした直後は、カレント・ワー キング・ディレクトリは、ホーム・ディレクトリになっています。ですから、 ログインした直後は、次の2つは、同じ結果になります。

(1)

% ls ~/ [←]

(2)

% ls [←]

カレント・ワーキング・ディレクトリを表示するには、pwd コ マンドを使います。

% pwd [←]
/home6/s991001
%

カレント・ワーキング・ディレクトリは、変えることができます。 それには、cd または chdir コマンドを使います。 ですから、次の2つは同じ結果になります。

% ls / [←]
% cd / [←]
% ls [←]

一度だけ ls を打つだけなら、cd でカレント・ ワーキング・ディレクトリを変える有難みはわかりません。しかし、何度も ls を打ったり、何度も less を打ったりする時に、便利さが出 てきます。たとえば、次のファイルを調べたいとします。

/etc/hosts
/etc/passwd
/etc/group
cd を使わない場合は、こうなります。
% less /etc/hosts [←]
% less /etc/passwd [←]
% less /etc/group [←]
cd を使う場合は、こうなります。
% cd /etc [←]
% less hosts [←]
% less passwd [←]
% less group [←]
このように、ディレクトリの名前の部分(/etc)を省略することがで きます。

長いファイル名を打つ代りにも、cd を使うと楽になることがあ ります。たとえば、/usr/local/man/man1/mnews.1 という名前のファ イルを less コマンドで見ることを考えます。

% less /usr/local/man/man1/mnews.1 [←]
これでもいいのですが、途中でファイル名を打ち間違えた場合、打ち直すのが 大変です。
% less /usr/locl/man/man1/mnews.1 [←]
/usr/locl/man/man1/mnews.1: No such file or directory
% less /usr/local/man/man1/mnews.1 [←]
% []
cd を使うと、次のようになります。
% cd / [←]
% cd usr [←]
% cd locl [←]
locl: No such file or directory.
% cd local [←]
% cd man [←]
% cd man1 [←]
% less mnews.1 [←]

なお、ファイルの名前で、/から始まっていて、ルート・ディレクト リからのパス名を、絶対パス名といいます。/以外から始まっていて、 カレント・ワーキング・ディレクトリからのパス名を、相対パス名といいます。

cd コマンドに、引数を与えなかった場合、カレント・ワーキン グ・ディレクトリは、ホーム・ディレクトリになります。ですから、次の2つ は、同じです。

(1)

% cd ~/ [←]

(2)

% cd [←]

■.と..

各ディレクトリには、...という特殊なディレクトリが 含まれています。. は、自分自身を表わすものです。.. は、 親ディレクトリ(根に近いディレクトリ)を表わします。

. は、cp でディレクトリ名を指定する時によく使われ ます。次の4つは、同じような効果があります。

(1)

% cp ~s991001/index.html ~/www/index.html [←]

(2)

% cp ~s991001/index.html ~/www/ [←]

(3)

% cd  ~/www [←]
% cp ~s991001/index.html index.html [←]

(4)

% cd  ~/www [←]
% cp ~s991001/index.html . [←]

.. は、cd コマンドで親ディレクトリにもどる時につかわれます。

----------------------------------------------------------------------
% cd /usr/local/bin [←]
% pwd [←]
/usr/local/bin
% cd .. [←]
% pwd [←]
/usr/local
% cd ../.. [←]
% pwd [←]
/
% []
----------------------------------------------------------------------

★練習問題

(1) ~/www/index.html を mule で編集することを考る。 cd を使う場合、どうすればよいか。

(2) /usr/local/bin を ls で表示したい。 cd を使う場合、どういう方法があるか。


[Netscape] [HTML] [HTML Ref] [Netscapeしおり] [WWW検索] [WWW/links]
[Mule(1)] [Mule(2)] [Mule/egg] [cwd-home] [file-dir]
↑[国際2班] ←[1月17日] ・[1月24日] →[1月31日] [課題一覧]
Last updated: 1997/01/23 21:55:10
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>