[UNIX系]パスの表し方

Tips

WindowsやMacなどのグラフィカルなインターフェイスに慣れていると、パスと聞いてもピンとこないかもしれません。

私がそうでした。

プログラミングでパスを扱う必要があり、理解できたのでこのページにまとめました。

パスとはなにか、絶対パス、相対パスの解説です。

UNIX系(Mac・Linux)の表し方をしています。

Windowsに関しては↓

 Androidアプリを作成しました。
 感情用のメモ帳です。

スポンサーリンク
スポンサーリンク

パスとは

ファイルやディレクトリの場所を記述したものをパスと言います。

ファイルはなにかしらのディレクトリに入っていると思います。そのディレクトもまた別のディレクトリに収められています。

すると、階層構造のいちばん上にあって、すべてのディレクトリを収めているディレクトリが存在します。

それがルートディレクトリです。
パスでは「/」で表します。※「」は無視してください。

ルートの下にディレクトリが一つあって、名前が「fuji」だとします。
/fuji/」となります。

さらにfujiの中にディレクトリを作成し、「test」と名付けました。
testのパスは「/fuji/test/」です。

このようにパスは階層ごとに /(スラッシュ)をつけて表します。

パスには「絶対パス」と「相対パス」の二種類の記述方法があります。
上記は絶対パスでの表し方でした。具体的に見ていきましょう。

ディレクトリのパスの末尾の「/」は省略できるため、「/fuji/test/」と「/fuji/test」は同じものです。これ以降のパスでは省略しています。

絶対パス

絶対パスとは、ファイルやディレクトリの場所をルートから記述することを言います。

ルートの中に「fuji」ディレクトリ、fujiの中に「images」と「documents」の二つのディレクトリがある。imagesには「cat01.jpg」と「family」ディレクトリが、documentsには「manual.pdf」と「works」ディレクトリがある。

上の画像のような構成になっているとき、それぞれの絶対パスは以下になります。

  1. /fuji
  2. /fuji/images
  3. /fuji/documents
  4. /fuji/images/cat01.jpg
  5. /fuji/images/family
  6. /fuji/documents/manual.pdf
  7. /fuji/documents/works

階層が下にいくごとにスラッシュを付けて、ファイルやディレクトリの名前を書くだけです。

相対パス

相対パスとは、現在地のディレクトリ(カレントディレクトリ)を基準にパスを記述したものです。

カレントディレクトリは、ウインドウをいくつも開けるWindowsやMacでは馴染みがないかもしれませんが、キーボードで操作するCLI(コマンドラインインターフェイス)では自分が今いる場所というのが明確にならないと作業になりません。

ルートの下に「fuji」ディレクトリ、fujiの中に「images」と「documents」の二つのディレクトリがある。imagesは赤枠で囲われてカレントディレクトリと表示、また中には「cat01.jpg」と「family」ディレクトリがある。documentsには「manual.pdf」と「works」ディレクトリがある。

このカレントディレクトリが2の「images」だとします。

この場合、4のjpgファイルの相対パスは、「cat01.jpg

5のディレクトリは「family」となります。

カレントディレクトリ内にあるファイルやディレクトリの相対パスは、カレントディレクトリの絶対パス「/fuji/images/」の部分を省略した形になっています。

なので例えば、カレントディレクトリ内に新しくファイルを作成したいときは、Linuxのコマンド「touch(ファイルを作成)」を使用するなら、コンソール上で、

touch test.html

とすることで、images内に新しく、test.htmlを追加することができます。

さらに新しく追加したtest.htmlから4の画像を読む必要があったときには、パスの部分を"cat01.jpg"とすると読み込むことができます。

またカレントディレクトリはドット(.)で表すこともできます。
カレントディレクトリの下にあることを明示すると、4のパスは「./cat01.jpg
5なら「./family」となります。

カレントディレクトリの親ディレクトリ(上にあるディレクトリ)はドット二つ(..)で表します。
なので親に当たる1、fujiの相対パスは「..
3のdocumentsは「../documents
6のpdfは「../documents/manual.pdf」です。

まとめ

パスについて記述してきました。

パスとは、ファイルやディレクトリの場所を記述したもの 。

絶対パスとは、ファイルやディレクトリの場所をルートから記述すること。

相対パスとは、カレントディレクトリを基準にしてパスを記述したもの。

いかがでしたか?
このページが少しでもお役に立ったのなら幸いです。

タイトルとURLをコピーしました