\documentstyle[epsf,ascmac,alltt,fancybox]{jarticle}
\title{ファイルとディレクトリ}
\date{}
\author{}
\newcommand{\dg}{\gt}
\newcommand{\dm}{\min}
\setlength{\topmargin}{-12mm}
\setlength{\textheight}{24.5truecm}
\setlength{\textwidth}{17truecm}
\setlength{\oddsidemargin}{-8.5mm}
\setlength{\evensidemargin}{-8.5mm}
\newcommand{\丸数字}[1]
{{\ooalign{\hfill$\scriptstyle#1$\hfill\crcr$\bigcirc$}}}
\newcommand{\CR}{\ovalbox{\ooalign{\hfill$\scriptstyle\hookleftarrow$\hfill\crcr}}}
\begin{document}
\maketitle
コンピュータに情報を保存するためには，電源を切っても情報が残る
{\dg\bf 装置}(以下，{\dg\bf デバイス}(device) という)
に記憶させておくことが必要である．最近では，
いろいろなデバイスが開発され，その全部を紹介することはできないが，
最も代表的なデバイスが，{\dg\bf ハードディスク}(hard disk, 以下 HDD 
ともいう) である．
人昔前までは，{\dg\bf フロッピディスク}(floppy disk) が主流であったが，
大容量，小型のハードディスクが開発され，ほとんどのコンピュータは，
ハードディスクで仕事ができるようになった．

ソフトウエア的には，ハードディスクという装置に直接情報を書き込む場合，
その種類，大きさ，作成日時などで管理する必要がある．
その情報の単位を{\dg\bf ファイル}(file) という．
さらに，UNIX では，ファイルをいくつか集めて，{\dg\bf ディレクトリ}
を形成することができる．そのディレクトリの中(通常，下という)に
ディレクトリを作ることができるので，全体として木構造を
なす．そのトップを{\dg\bf ルートディレクトリ}(root directory) といい，
他のディレクトリは，下へ向かって，木の枝の
ように配置されている．ファイルは，必ず木構造の枝の先，
{\dg\bf リーフ}(leaf) にあたり，
ディレクトリは，枝別れしている分岐点，{\dg\bf ノード}(node) にも，
リーフにも成りうる．各ノードの一つ上のディレクトリを
{\dg\bf 親ディレクトリ}(parent directory)，
一つ下のディレクトリを {\dg\bf 子ディレクトリ}(child directory)
という．
ファイル，ディレクトリ全体を指して{\dg\bf ファイルシステム}
(file system) という．

例えば，以下の例をみてみよう．
\begin{center}\begin{figure}[h]
\epsfile{file=test.eps,width=12cm,height=8cm}
\caption{ファイルとディレクトリ}
\end{figure}\end{center}
ファイルシステムには，必ず{\dg\bf ルートディレクトリ}(root directory)
があり，ディレクトリのトップを指している．ルートディレクトリを
{\tt /} で表現する．ディレクトリの下には，ファイル，ディレクトリを
生成することができるが，この例では {\tt bin}，{\tt sbin}，{\tt home}
の各ディレクトリがあることがわかる(これらを{\dg\bf ディレクトリ名}
(directory name)という)．これらのディレクトリは，各々
{\tt /bin}，{\tt /sbin}，{\tt /home} で表すことができる．
さらに，ディレクトリ {\tt /bin} の下には，{\tt dd}，{\tt pwd} という
ファイルがあり，ディレクトリ {\tt /home} の下には
{\tt yas} というディレクトリがある．各々 {\tt /bin/dd}，{\tt /bin/pwd}
と {\tt /home/yas} で表すことができる．最後に，ディレクトリ {\tt /home/yas}
の下には，{\tt \.bashrc} と，{\tt text.txt} というファイルがあり，
各々 {\tt /home/yas/.bashrc}，{\tt /home/yas/text.txt} と表すことが
できる．

まとめると，ファイルシステムには，必ずルートディレクトリがあり {\tt /}
と表す．さらに，ルートディレクトリの下には，ファイル，ディレクトリを
生成することができるが，その名前を {\tt name} とすると，
\begin{center}{\tt /name}\end{center}
と表すことができる．{\tt name} がディレクトリである場合は，その下に
ファイル，ディレクトリを生成することができ，名前を {\tt foo} とすると，
\begin{center}{\tt /name/foo}\end{center}
となる．以下，{foo} がディレクトリの場合は，更にファイルまたは，
ディレクトリを生成することができ，その繰り返しとなる．
ファイル {\tt /home/yas/.bashrc} の親ディレクトリが {\tt /home/yas}
で，ディレクトリ {\tt /home} の子ディレクトリが {\tt /home/yas}
である，という表現もできる．

\section{ホームディレクトリ}
ログインすると，まず，{\dg\bf ホームディレクトリ}(home directory)
にファイルまたは，ディレクトリを生成することができる．
Figure 1 では，{\tt /home/yas} をホームディレクトリとしよう．UNIX では，
一般ユーザを作成するときに，必ずそのユーザ用のホームディレクトリを
指定している．例えば，{\tt 00pp999} というユーザであれば
{\tt /home/00pp999} というディレクトリがホームディレクトリとなる．

ホームディレクトリは，ユーザによって固定であるが，
ファイルシステムの中で，ディレクトリを移動することができる．
移動した時点，時点で，注目しているディレクトリを
{\dg\bf カレントワーキングディレクトリ}(current working directory) という
(単に，カレントディレクトリともいう)．

Figure 1 では，{\tt /home/yas} のホームディレクトリに対して，
{\tt /home}，{\tt /}，{\tt /bin} のようにディレクトリであれば
自由に移動することができる．
\end{document}
