検索に移動この項目では、コンピュータのファイルシステムについて説明しています。(曖昧さ回避)」をご覧ください。コンピュータのファイルシステムにおいて、ファイルをグループ化するための特殊なファイル[1]で、整理・管理などの目的で活用される。ディレクトリの中にも、通常のファイルだけでなく入れ子的にディレクトリを作って、任意の階層を持たせて管理できることがほとんどである。ファイルの入れ物(容器)などとも表現され、GUIでは文具のフォルダーのようなメタファーで表現されることが多い。物理的な容器であるのはHDDなどのメディアそのものであるので、ディレクトリは「ファイルへの見出し[2]の入れ物」と表現する方が正確である。外部リンク概要[編集]ディレクトリ構造の例。OSでは「フォルダ」と呼んでいる。95以降のWindowsではフォルダと呼び直したが実態には何の違いも無かったように、呼び方の違いには(マーケティング上の印象以上の)意味は全く何もない。Unixなどでは唯一の最上位の根幹(ルート、ルートディレクトリ)があり、ストレージやボリューム(パーティションなど)の内容は、任意の枝(マウントポイント)にマウント(接ぎ木)される、というツリー(木)モデルとなっている。それに対し、MS-DOSおよびWindowsでは、最上位は「ドライブ」という単位であり(フロッピーの場合で明らかなように、ディスク単位ではない。パーティションなどに対しドライブを割り当てていることは多い)、各ドライブに対してそれぞれのメディアのルートディレクトリがあって、それぞれのツリーがある、という(数学では「林」あるいは「森」と呼んで、「木」と区別することがある)ようなモデルとなっている。ディレクトリにより任意の深さの(実際には後述する絶対パスの最大長などとして制限があることも多いが)階層を構成することが可能なシステムでは、システムコール上のファイルの指定を、カレントディレクトリ(後述)の移動とファイルの指定のようにして別々に行わなければならないシステムもあるが、Unixなど多くのように「ディレクトリ名/ディレクトリ名/ディレクトリ名/ファイル名」のようにセパレータ(分離符)で分離する表現によりいっぺんに行えるものもある。統一化されず残されたコードであったためもあり、その意味に混乱させられている者が多い。(セパレータが使えるシステムでは)先頭をセパレータで始めるなどの方法により、ルートディレクトリからの絶対的な表現で指定したパスを「絶対パス」や「フルパス」と呼ぶ。それに対して、カレントディレクトリ(後述)など、なんらかの任意のディレクトリから相対的に(「相対パス」)指定することもできる。Unixなどでは[4]、プロセスの持つ属性として、カレントディレクトリ(あるいはワーキングディレクトリ)がある。そのプロセスが発行するシステムコール中において、相対パスで指定された場合の起点としてなど「デフォルトのディレクトリ」として使われる。子プロセスの起動時には、その時点での親プロセスのカレントディレクトリが引き継がれるか、明示的に指定することができるものもある。原則として子プロセスは親プロセスに影響を与えることができないため、「シェルのカレントディレクトリを変更する」というコマンドは外部コマンドとして実装することができないので、必ずシェルの内部コマンドとして実装される。