ディレクトリ(Directory)は、コンピュータの記憶メディア(ハードディスクなどファイルシステム)のファイルを整理・管理するための、階層構造(ツリー構造)を持つグループ名。初心者向けの解説書などではファイルの入れ物と表現されることもある。 「ディレクトリ」は主にUNIX系オペレーティングシステムやMS-DOS、3.1以前のWindowsで使われる語で、95以降のWindowsやMacOSではフォルダと表現される。 UNIX系のオペレーティングシステムでは、最上位(root)を根(ルートディレクトリ)とする。DOS系やWindows系、MacOSではディスクまたはパーティションごとにツリーが構成されるが、その場合も各ツリーの最上位をルートディレクトリと呼ぶことがある。 ファイルはルートディレクトリからのパス名で識別される。これを「絶対パス」や「フルパス」と呼ぶ。これに対して、あるディレクトリからの相対的なパス(「相対パス」)でファイルを識別することもできる。このときのディレクトリをカレントディレクトリあるいはワーキングディレクトリと呼ぶ。UNIXやMS-DOSでは、カレントディレクトリを chdirコマンドあるいはcdコマンドで変更することができる。ディレクトリー内容の検索にはdirコマンドを使用する。 ユーザーがシステムにログインしたときのカレントディレクトリをホームディレクトリと呼び、その配下にユーザー個人のファイルを置くことが多い。 MS-DOS系の基本ソフトに対応したディレクトリー内の改変を容易に行うために、バイナリエディタ付ファイル管理プログラム(エコロジーIII/マイクロ・データ等)も存在した。 コンピュータにおけるファイル (file) は、任意のデータを格納するための論理的な単位の一つ。ファイルは紙、磁気テープ、磁気ディスクなどの物理的な記憶装置に記録・記憶される。場合によってはデータセット (data set) とも呼ばれる。 コンピュータにデータ(デジタル化された情報)を格納する際、全く情報を含まない0バイトから記憶媒体の容量さえ許せば数テラバイトないしそれ以上に至るまで、さまざまな大きさのデータ列を一つの「かたまり」として扱う。これがファイルである。ファイルにはそれぞれ名前があり、ユーザやアプリケーションはその名前を頼りに、他にもたくさんあるファイルの中から必要なファイルを見つけることができる。ただし、ファイルがどのような構造の中に格納されているかはファイルシステムによって異なる。 ファイルの中に入れるデータの種類もさまざまである。例えばコンピュータプログラムが入ったファイルがあり、これをプログラムファイルと呼ぶ。同様に、データベースファイル、文書ファイル、表計算ファイル、画像ファイル、音楽ファイル、動画ファイルなどがある。 ファイルには、大きく分けてバイナリファイルとテキストファイルに区分される。バイナリファイルには、コンピュータ内部でプログラムが直接処理するデータがそのまま格納されている一方、テキストファイルでは、文字コードに従い文字によりFX されたデータとして格納されているため、人間が読む事ができる。どちらもテキストエディタ等(Windowsでは、「メモ帳」等)で強制的に開き表示させることが可能だが、バイナリファイルが文字化けを起こすのに対して、テキストデータでは一定の文字列となって表示される。今日、広く利用されているワープロソフトで作成された文章ファイルもバイナリファイルの一種である。 MS-DOSなどキャラクタベースのオペレーティングシステム (OS) では、ファイル名に拡張子は付けられていても、依然各ソフトウェアではファイルの種別を意識することが必要であった。Windowsにおいて拡張子によるアプリケーションの関連づけが本格導入されて以降は、プログラムソースやバッチファイル、音楽演奏ソフトウェアで設定したプレイリスト(Windows上では拡張子が“m3u”など)の実体はテキストファイルであるなど、一般的なパソコン利用者にとってはあまり意味の無い区分になっている。 バイナリファイルの一部には、ファイルの先頭部分に決まったデータを含む場合がある(これをヘッダと言う)。一部のソフトウェアでは、この文字情報を参照して、データの種別や、データのフォーマットのバージョンを判断したりする(パソコンに既に入っているソフトウェアで開けるかどうかを確認するなど)ものがある。(Mac OSでは伝統的にこれを参照する他、正体の判らないファイルを判別するのに、これを利用する技術者やハッカーも居る。)また、バイナリファイルをバイナリデータとして開き、直接編集するためのバイナリエディタと呼ばれる専用のソフトウェアも存在する。 最近のコンピュータでは、ファイルを誤って(または故意に)書き換えたり削除したりといったことから保護する方法が備わっている。マルチユーザー環境では、ファイルパーミッションによって、誰がそのファイルを修正したり削除したり、あるいはファイルやフォルダーを作成したりできるかを規定している。これにより、特定のユーザーだけがファイルやフォルダーを作成したり修正したりできるよう設定したり、特定のユーザーだけが中身を読めるように設定したりできる。 もう1つの保護機構としてよく使われるのは、「リードオンリー」フラグを使う方法である。ファイルに対してこのフラグを立てると、ファイルの内容を読み込むことはできるが、書き換えることはできなくなる。これは変更されたり消去されたりすると困る重要な情報を保護するのに便利で、システムファイルなどの保護に使われる。システムによっては「隠し属性」フラグも持っていて、指定したファイルを(通常の手段では)見えないようにできる。これも不動産 に書き換えられると困るシステムファイルを隠すのに使われる。 ファイルはユーザーから見た概念的存在であると同時に、物理的な実体を伴う。すなわち、実際のコンピュータにおけるファイルには必ず物理的実体が存在する。多くの場合、ファイルは何らかの記憶装置に格納されている。例えば、多くのオペレーティングシステムはファイルを格納する装置としてハードディスクドライブを使用しており、最も一般的な不揮発性記憶装置になっている。一時的な情報を格納するだけのファイルは、揮発性のRAM上に格納することもある。 Unix系OSでは、実際の記憶装置に対応していないファイルも数多く存在する。/dev/null など、/dev 配下のファイルや /proc や /sys 配下のファイルがそれに当たる。これらはユーザーからはファイルとしてアクセスできるが、外為 にはOSのカーネル内のオブジェクトとして存在する仮想ファイルである。 ファイルを格納する電子媒体としては、磁気テープもある。他にも書き込み可能なコンパクトディスク、DVD、ZIP、USBメモリなどにも格納できる。 コンピュータ側では、幾つかの段階を経て、画面上にデータの一つの塊として表示しているが、これをよりコンピュータ側からの視点で見た場合に、幾つものデータを寄せ集めて一つに見せている事もある。 ハードディスクはこれらファイルを保存しておくための記憶装置だが、この中にはトラックやセクター(更にはクラスタ)と呼ばれる細かい区分が用意されており、この細かい区分複数個に跨って情報が格納される。丁度何巻にも分かれている大作長編小説のように区分けされて保管された情報は、更に突き詰めればビットと呼ばれるON/OFFの関係にある点(スイッチ)の集合であるが、これらはコンピュータの基礎部分のプログラムやOSのファイルシステムによって制御され、最終的に一つのファイルの形で画面上に表示されている。