皆様こんにちは。
今回はLinuxのコマンド操作における絶対パス指定と相対パス指定の違いについて説明していきたいと思います。

※今回の図でtmp内にexampleディレクトリが存在していますが、tmp内に作成したディレクトリやファイルは10日又は再起動で自動的に削除されるのでご注意ください。

そもそもパスとは?

パスとは直訳で「道、経路」といった意味になりますが、Linuxにおいては特定の出発点から特定のディレクトリやファイルまでの経路をパスと言います。

特定の出発点とは「ルートディレクトリ」と「カレントディレクトリ」のことです。

ルートディレクトリ

ファイル階層における最上位のディレクトリのことです。
記号では/(スラッシュ)と表します。
file

カレントディレクトリ

現時点で作業しているディレクトリのことです。
記号では.(ピリオド)と表します。
また親ディレクトリは..と表します。

下記の画像ではuserディレクトリがカレントディレクトリとなります。
file

絶対パス指定とは?

ルートディレクトリを出発点として特定のディレクトリやファイルまでの経路を指定することを絶対パス指定と言います。
絶対パスでパス指定する場合、パスの先頭は/(ルートディレクトリ)から始まります。

例として上記画像のexampleディレクトリに移動したい場合、cdコマンドは下記のようになります。

cd /tmp/example

これは現在のカレントディレクトリの位置関係なく絶対的にルートディレクトリからexampleディレクトリを表すパスになります。

相対パス指定とは?

カレントディレクトリを出発点として特定のディレクトリやファイルまでの経路を指定することを相対パス指定と言います。
相対パスでパス指定する場合、パスの先頭は./から始まります(./は省略することもできます)。

例として上記画像のカレントディレクトリはuserディレクトリですが、そこからexampleディレクトリに移動したい場合、cdコマンドは下記のようになります。

cd ./../../tmp/example

又は、

cd ../../tmp/example

相対パス指定は現在のカレントディレクトの位置により相対的に決まるパスであるため一意ではなく、例えばカレントディレクトリがvarディレクトリでありexampleディレクトリに移動したい場合、cdコマンドは下記になります。

cd ./../tmp/example

又は、

cd ../tmp/example

感想

絶対パス指定と相対パス指定は基本的なことではありますが改めて記事にアウトプットして復習することができました。
これからもよろしくお願いします。

Last modified: 2022-06-02

Author