この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
皆様こんにちは。
今回はLinuxのコマンド操作における絶対パス指定と相対パス指定の違いについて説明していきたいと思います。
※今回の図でtmp内にexampleディレクトリが存在していますが、tmp内に作成したディレクトリやファイルは10日又は再起動で自動的に削除されるのでご注意ください。
そもそもパスとは?
パスとは直訳で「道、経路」といった意味になりますが、Linuxにおいては特定の出発点から特定のディレクトリやファイルまでの経路をパスと言います。
特定の出発点とは「ルートディレクトリ」と「カレントディレクトリ」のことです。
ルートディレクトリ
ファイル階層における最上位のディレクトリのことです。
記号では/(スラッシュ)と表します。
カレントディレクトリ
現時点で作業しているディレクトリのことです。
記号では.(ピリオド)と表します。
また親ディレクトリは..と表します。
下記の画像ではuserディレクトリがカレントディレクトリとなります。
絶対パス指定とは?
ルートディレクトリを出発点として特定のディレクトリやファイルまでの経路を指定することを絶対パス指定と言います。
絶対パスでパス指定する場合、パスの先頭は/(ルートディレクトリ)から始まります。
例として上記画像のexampleディレクトリに移動したい場合、cdコマンドは下記のようになります。
cd /tmp/example
これは現在のカレントディレクトリの位置関係なく絶対的にルートディレクトリからexampleディレクトリを表すパスになります。
相対パス指定とは?
カレントディレクトリを出発点として特定のディレクトリやファイルまでの経路を指定することを相対パス指定と言います。
相対パスでパス指定する場合、パスの先頭は./から始まります(./は省略することもできます)。
例として上記画像のカレントディレクトリはuserディレクトリですが、そこからexampleディレクトリに移動したい場合、cdコマンドは下記のようになります。
cd ./../../tmp/example
又は、
cd ../../tmp/example
相対パス指定は現在のカレントディレクトの位置により相対的に決まるパスであるため一意ではなく、例えばカレントディレクトリがvarディレクトリでありexampleディレクトリに移動したい場合、cdコマンドは下記になります。
cd ./../tmp/example
又は、
cd ../tmp/example
感想
絶対パス指定と相対パス指定は基本的なことではありますが改めて記事にアウトプットして復習することができました。
これからもよろしくお願いします。