ディレクトリ
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事には複数の問題があります。改善やノートページでの議論にご協力ください。

出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年4月)


脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年4月)


独自研究が含まれているおそれがあります。(2024年4月)
出典検索?: "ディレクトリ" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL

.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、コンピュータのファイルシステムについて説明しています。その他の用法については「ディレクトリ (曖昧さ回避)」をご覧ください。

ディレクトリ (: directory) は、コンピュータファイルシステムにおいて、ファイルをグループ化するための特殊なファイル[注釈 1]で、整理・管理などの目的で活用される。ディレクトリの中にも、通常のファイルだけでなく入れ子的にディレクトリを作って、任意の階層を持たせて管理できることがほとんどである。

ファイルの入れ物(容器)などとも表現され、GUIでは文具のフォルダー(folder)のようなメタファーで表現されることが多い。このフォルダーはディレクトリと内部的に同じである場合もあれば、そうでない場合もある。
概要[ソースを編集]ディレクトリ構造の例。この図では、ルートはMFD (Master File Directory) として記述されている。

UnixMS-DOSバージョン3.1以前のWindowsなどでは「ディレクトリ」と呼び、Mac OSiOSAndroidなどでは「フォルダ」と呼んでいる。Windows 95以降のエクスプローラーでは仮想的な階層構造であるシェル名前空間が導入され、GUI上はフォルダ(フォルダー)[注釈 2]と呼称するようになったが、ディレクトリと完全に同義ではない。例えば、コントロールパネルやネットワーク、圧縮フォルダーなどは、ファイルシステム上のディレクトリとは異なる仮想的なフォルダーである[1]GoogleドライブOneDriveのようなオンラインストレージサービスにもフォルダ(フォルダー)の概念がある。

Unixなどでは唯一の最上位の根幹(ルート、ルートディレクトリ)があり、ストレージやボリューム(パーティションなど)の内容は、任意の枝(マウントポイント)にマウント(接ぎ木)される、というツリー(木)モデルとなっている。それに対し、MS-DOSおよびWindowsでは、最上位は「ドライブ」という単位であり[注釈 3]、各ドライブに対してそれぞれのメディアのルートディレクトリがあって、それぞれのツリーがある、という(数学では「林」あるいは「森」と呼んで、「木」と区別することがある)ようなモデルとなっている。

ディレクトリにより任意の深さの[注釈 4]階層を構成することが可能なシステムでは、システムコール上のファイルの指定を、カレントディレクトリ(後述)の移動とファイルの指定のようにして別々に行わなければならないシステムもあるが、Unixなど多くのように「ディレクトリ名/ディレクトリ名/ディレクトリ名/ファイル名」のようにセパレータ(分離符、区切り文字)で分離する表現により一度に行えるものもある。セパレータは、Unixでは '/'(スラッシュ)、MS-DOSやWindowsでは '\'(コードが 0x5C の文字)[注釈 5]である。なお、MS-DOSのセパレータは、内部的にはスラッシュへの切り替えにも対応していた[2]。Windowsでは、多くの場面でセパレータとして0x5Cの代わりにスラッシュも使うことができるが、APIによってはスラッシュに対応しておらず、0x5Cのみを受け付けるものもある。

(セパレータが使えるシステムでは)先頭をセパレータで始めるなどの方法により、ルートディレクトリからの絶対的な表現で指定したパスを「絶対パス」や「フルパス」と呼ぶ。それに対して、カレントディレクトリ(後述)など、なんらかの任意のディレクトリから相対的に指定することもできる。これを「相対パス」と呼ぶ。例えばnote.txtや../2024-04/note.txtなどが相対パスである。相対パスは特に注意深く扱う必要がある。ユーザーから与えられたパスを無害化する処理を施しておかないと、ディレクトリトラバーサルなどの攻撃を許すセキュリティホール(セキュリティ脆弱性)を簡単に生み出してしまう。

Unixなどでは[注釈 6]、プロセスの持つ属性として、カレントディレクトリ(あるいはワーキングディレクトリ)がある。そのプロセスが発行するシステムコール中において、相対パスで指定された場合の起点としてなど「デフォルトのディレクトリ」として使われる。子プロセスの起動時には、その時点での親プロセスのカレントディレクトリが引き継がれるか、明示的に指定することができるものもある。原則として子プロセスは親プロセスに影響を与えることができないため、「シェルのカレントディレクトリを変更する」というコマンドは外部コマンドとして実装することができないので、必ずシェルの内部コマンドとして実装される。

Unixにはディレクトリの内容を表示する外部コマンドとして ls コマンドがあり、Domain/OSには、相当するコマンドとして ldがある。なお、MS-DOSのCOMMAND.COMには、相当する機能を持つ内部コマンド dir[3] があり、DISK-BASICには、相当するコマンドとしてfilesとlfilesがある。

Unixなどでは、ユーザーごとにホームディレクトリが設定されており(passwdファイルなどで)、そのユーザーのログイン後の最初のプロセス(通常はシェル)の初期カレントディレクトリがそれになる。通常[注釈 7]、そのユーザーが所有者かつ読み書き可能に設定されており、その下にユーザー個人のファイルを置くことが多い。

Unixをはじめ多くのシステムでは、ディレクトリ中のファイル名(正確には、「ディレクトリエントリ」)の順番をユーザーが編集することはできない[注釈 8]が、MS-DOSでは比較的容易に直接ディスクの内容を改変して編集[注釈 9]できたため、FDやマイクロデータの「エコロジー」シリーズなど、そのような編集機能を持つファイル管理ソフトもあった。

商用UNIXや、FreeBSDなどいわゆるBSD系のシステムでは、GNU/Linuxにおけるcoreutilsに相当するような基本的なユーティリティ類は全て、カーネルと同じプロジェクトとして維持管理されているいわゆるベースシステムに含まれており、通常は各システムのデフォルトの配置が使用されるため問題が起きることは少ないが、GNU/Linuxでは以前はディストリビューションごとにまちまちであったために面倒な作業などが必要になることがあったため、Filesystem Hierarchy Standard (FHS) により標準化が図られている。
符号位置[ソースを編集]

GUI で表現されるディレクトリ(フォルダ)のアイコンは、絵文字として Unicode 6.0 から収録されている。

記号UnicodeJIS X 0213文字参照名称
📁U+1F4C1-📁


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:28 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef