共通科目情報処理(実習)、国際総合学類対象、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
を使う場合、どういう方法があるか。