ディレクトリ
Directory
ファイルや他のディレクトリを名前と階層で整理するための入れ物です。通常のファイル管理ではフォルダとほぼ同じ意味ですが、画面上の仮想フォルダ等は実際のディレクトリに対応しない場合もあります。
🐾 猫で例えると?
茶トラが自分専用の木箱にすっぽりと収まってリラックスしていますね。この木箱のように、特定の情報(この場合は猫)を整理して入れておくための空間が「ディレクトリ」です。箱を分けておけば、「茶トラはここ」「おもちゃはあっちの箱」と探しやすくなります。
💻 IT現場における「ディレクトリ」とは?
コマンドや設定ファイルでは、ファイルを指定するパスと一緒にディレクトリという言葉をよく使います。Windowsでもディレクトリは存在し、Linuxだけの機能ではありません。
ディレクトリの最も重要な役割は、データを「階層構造(ツリー構造)」で管理できる点にあります。一番上の大元となるディレクトリを「ルートディレクトリ(/)」と呼び、その中に「設定ファイルを入れるディレクトリ(/etc)」や「ユーザーのデータを入れるディレクトリ(/home)」などを木(ツリー)の枝のように分岐させて作っていくことで、何万という大量のファイルを迷子にならずに管理することができます。
⚠️ ディレクトリの仕組みと注意点
ディレクトリを扱う上で欠かせないのが「パス(Path)」という概念です。パスとは、特定のファイルやディレクトリがどこにあるのかを示す「道順(住所)」のことです。パスには、大元(ルート)からの全ての道順を記述する「絶対パス」と、今自分がいる場所(カレントディレクトリ)を基準とした道順を記述する「相対パス」の2種類があります。
絶対パスと相対パスの違い
例えば、Linux上に/home/user/images/cat.jpgがある場合を考えます。次はパスの表記例で、実行コマンドではありません。
// 絶対パスでの指定(ルートから全て書く)
/home/user/images/cat.jpg
// 相対パスでの指定(現在 /home/user にいる場合)
./images/cat.jpg 相対パスの基準は、コマンドの現在位置、設定ファイルの場所、WebページのURLなど、使う仕組みによって異なります。「ファイルの横に置いたのに見つからない」ときは基準を確認します。WindowsのC:\から始まるパスと、C:だけから始まるドライブ相対パスも別物です。
🛠️ ディレクトリを賢く使うためのポイント
プログラムを作成する際、ディレクトリ構成(どのファイルをどのディレクトリに配置するか)をどう設計するかは非常に重要です。適当に配置すると、後からプロジェクトに参加したエンジニアが「どこに何があるか分からない」と混乱してしまいます。
- 役割ごとにディレクトリを分ける: 「画像(images)」「スタイルシート(css)」「プログラム(js)」など、ファイルの役割に応じてディレクトリを分割し、整理整頓を心がける。
- 深くしすぎない: 階層構造は便利ですが、あまりにも深く(何階層も)しすぎると、パスの記述が長くなり、かえって目的のファイルにたどり着きにくくなるため注意が必要。
- カレントディレクトリを常に意識する: コマンドライン(黒い画面)で操作する際は、自分が今どのディレクトリ(部屋)にいるのかを常に把握しておかないと、誤った場所でコマンドを実行してしまう危険がある。
茶トラの木箱のように、ファイルにも探しやすい置き場所を用意します。役割ごとにディレクトリを分け、名前と階層をそろえましょう。「ファイルが見つからない」ときは、相対パスがどのカレントディレクトリを基準にしているかを確認すると切り分けに役立ちます。