【Linux】ファイル・ディレクトリの構造と概念

LinuxOSではさまざまなデータを扱う上で「ファイル」と「ディレクトリ」を知ることは重要です。

ファイル・ディレクトリの構造と概念についてまとめました。




ファイル・ディレクトリの構造と概念

Linux上で使用されるデータには以下のような種類があります。

  • 文章(テキスト)
  • 画像
  • 電子メール
  • 音声…etc

上記のデータは、拡張子など形式がそれぞれ別となりますが、LinuxOS上では「ファイル」として扱われます。

また、ファイルの内容や種類に応じて分類・整理してまとめるための置き場所を「ディレクトリ」と言います。

このディレクトリにはファイルの保存場所だけではなく、ディレクトリの中にもう一つのディレクトリを作成することが可能で、「階層化」することができます。
このような階層化された構造を「ツリー構造」と言います。

また、このツリー構造の一番上位に位置するディレクトリを「ルートディレクトリ」と言います。
以下では「user01」というユーザーのディレクトリ構造を表した図となります。

※ユーザー(user01)のディレクトリ構造
 青色の範囲が(user01)のホームディレクトリ・ツリー構造となります。

ファイルやディレクトリを扱うためのコマンドは別途記載します。

「ファイル」や「ディレクトリ」の位置について

LinuxOSを操作するユーザーは必ず上記のツリー構造のどこかのディレクトリに位置します。
ディレクトリの位置では以下のような言い方があります。

  • カレントディレクトリ:現在ユーザー自身がいるディレクトリ
  • ホームディレクトリ:ログインした時点でユーザー自身がいるディレクトリ

ホームディレクトリではファイルやディレクトリの作成・削除・移動などの操作を自由に行うことができます。
通常、対象のホームディレクトリでログインしたユーザーは、そのホームディレクトリ配下で作業を行うことができます。

ユーザーが直接作業するのは、このホームディレクトリ配下のカレントディレクトリにあるものだけとなります。
このカレントディレクトリ以外のファイルやディレクトリを操作する場合は以下の方法があります。

  • 操作対象のファイルが存在するディレクトリに移動する
  • 操作の対象ファイルを指定する際に、そのファイルが存在するディレクトリもまとめて指定する

上記、カレントディレクトリ以外で対象ファイルを操作する場合は、「ディレクトリ」を指定する必要があります。
ここでいう指定のディレクトリへの経路のことを「パス(path)」と言い、パスを指定することでツリー構造上の位置へ移動することができます。

このパスの指定には「絶対パス」と「相対パス」の2つの方法があります。




絶対パス

絶対パスはルートディレクトリから目的のディレクトリへの経路を指定します。
したがってどのカレントディレクトリにであろうとも、指定したファイル・ディレクトリのパスは同じになります。

ルートディレクトリは「/」となります。
以下の図で表すように①の「usr」へのパスは以下となります。

/usr

次に②の「tmp」ディレクトリへの指定パスですが、以下となります。

/home/user01/tmp

「tmp」ディレクトリ内のファイルにアクセスする場合のパスは以下となります。

/home/user01/tmp/File01.txt

相対パス

相対パスはカレントディレクトリ(現在の自分の位置)から目的とするディレクトリへの経路なります。
したがって、カレントディレクトリが異なる場合、目的のディレクトリは同じであってもパスは異なります。

以下のようにカレントディレクトリが「tmp」の場合、①の「var」へのパスは以下となります。

../../var

次に②のファイルへのパスは以下となります。

./File01.txt

上記のように相対パスの経路は「.」や「..」などの記号を使用します。
「.」はカレントディレクトリを表し、「..」は一つ上のディレクトリを指します。

ファイル・ディレクトリの構造と概念は以上となります。

最新情報をチェックしよう!