はじめに
会社のサーバ研修の中で個人的に相対パスの書き方が印象的であったため、紹介します。
結論:cdは、cdコマンド+パスという書き方をするため「cd ..\ ..\〇〇」と言うような書き方も可能である。
目次
- ディレクトリとは?
- 相対パスと絶対パス
- cdコマンドについて
- 相対パスを使ったcd ..\ ..\○○とは
- 最後に
まずは基本となるディレクトリの話をしておきます。
ディレクトリとは?
ディレクトリとは、HDDやSSDなど外部記憶装置を管理するファイルシステムというものにおいて、複数のファイルやディレクトリを格納することができる保管場所のことを指します。
OSによって呼び名が違いますが、ディレクトリはWindowsで言うフォルダと同じと考えて問題ありません。
例えば、旅行で撮った写真をWindows11のパソコンのデスクトップに保存しているとします。それをディレクトリの構造で表すと以下のようになります。
C:\Users\UsrPC\Desktop
├─旅行の写真
│ ├─2026年2月
│ │ ├─長野
│ │ │ ├─長野1.png
│ │ │ ├─長野2.png
│ │ │ └─長野3.png
│ │ └─京都
│ │ ├─京都1.png
│ │ ├─京都2.png
│ │ └─京都3.png
│ └─2026年3月
│ ├─長野
│ │ ├─長野4.png
│ │ ├─長野5.png
│ │ └─長野6.png
│ └─大阪
│ ├─大阪1.png
│ ├─大阪2.png
│ └─大阪3.png
└─ゲーム.exe
因みに、ディレクトリ構造を見たい場合はコマンドプロンプトでtreeコマンドを実行することで確認できます。(Ubuntuなど一部のLinux環境ではtreeパッケージをインストールする必要があります。)
C:\Users\UsrPC\Desktop>tree
相対パスと絶対パス
次に、相対パスと絶対パスについての話をします。
相対パスとは、「自分が現在どのディレクトリを開いているのか」を基準として、開きたいディレクトリや実行したいファイルまでのパスを書きます。
.\旅行の写真 ←(.\は省略可能)
↑(.が現在開いているディレクトリC:\Users\UsrPC\Desktopを表している)
「 . 」は現在開いているディレクトリ(カレントディレクトリ)を表現しています。
絶対パスとは、「ルートディレクトリ (ディレクトリの階層構造の一番上に位置するディレクトリ) 」を基準として、開きたいディレクトリや実行したいファイルまでのパスを書きます。
C:\Users\UsrPC\Desktop\旅行の写真 ←(\で区切りながら目的のディレクトリまで書く)
↑(一番左の\がルートディレクトリ)
ルートディレクトリは「 / 」または「 \ 」で表現され、Windowsの場合は「 \ 」で表現されています。
「 C: 」はCドライブを開いているということを表しています。
cdコマンドについて
cdとは、ディレクトリを移動するためのコマンドで、「change directory」という意味です。
cdというコマンドと相対パスまたは絶対パスをセットで記述します。
C:\Users\UsrPC\Desktop>cd 旅行の写真
C:\Users\UsrPC\Desktop>cd \Users\UsrPC\Desktop\旅行の写真
現在開いているディレクトリの一つ上の階層のディレクトリに移動したい場合、「 cd .. 」というコマンドを実行します。
C:\Users\UsrPC\Desktop>cd ..
C:\Users\UsrPC>
これは「 .. 」が「親ディレクトリ ( 現在開いているディレクトリの一つ上のディレクトリ ) 」を表しているため正常に実行されます。
相対パスを使ったcd ..\ ..\○○とは
先ほどの「ディレクトリ構造の図」のシステムで写真を探しているとします。
2026年3月の長野のディレクトリを開いたのですが、見たい写真は2026年2月の長野のディレクトリにあることに気づきました。
そこで2026年2月のディレクトリに移動したいです。
この時、
相対パスを使う場合、「cd ..」を一回実行して一階層上に移動し、もう一回実行することでもう一階層上に移動することができます。そしてそこから2026年2月のディレクトリへ移動できます。
C:\Users\UsrPC\Desktop\旅行の写真\2026年3月\長野>cd ..
C:\Users\UsrPC\Desktop\旅行の写真\2026年3月>cd ..
C:\Users\UsrPC\Desktop\旅行の写真>cd 2026年2月\長野
C:\Users\UsrPC\Desktop\旅行の写真\2026年2月\長野>
絶対パスを使う場合、現在開いているディレクトリがどこであってもルートディレクトリから開きたいディレクトリまでを記述することで2026年2月のディレクトリへ移動できます。
C:\Users\UsrPC\Desktop\旅行の写真\2026年3月\長野>cd \Users\UsrPC\Desktop\旅行の写真\2026年2月\長野
C:\Users\UsrPC\Desktop\旅行の写真\2026年2月\長野>
しかし今回の場合、2026年2月ディレクトリはカレントディレクトリから階層を二つ上に戻って一つ下に入れば良いと分かっています。
「絶対パスでは記述する文字数が増えるので相対パスを使いたい。」
「cd ..を何度も打つというのも面倒に感じる。」
と言う時に便利なのがcd ..\ ..\○○というようなパスの書き方です。
「cd ..」とは一つの特殊なコマンドではなく、「cdコマンド」と「..という相対パス」を書いています。
..は親ディレクトリを指しているので、相対パスの一部として繋げることが可能です。
よって、
C:\Users\UsrPC\Desktop\旅行の写真\2026年3月\長野>cd ..\ ..\2026年2月
C:\Users\UsrPC\Desktop\旅行の写真\2026年2月\長野>
という書き方で正常に移動できます。
最後に
私自身がcd ..をディレクトリを戻るためのそういうコマンドであると漠然と覚えてしまっていたので、同じように覚えてしまっていた人に向けて書かせていただきました。
また、相対パスと絶対パスのどちらを使ってディレクトリの移動を行ったとしても、逐一現在地の確認(Linuxならpwd、Windowsならcd単体)やファイルの確認(Linuxならls -l、Windowsならdir)をすることは非常に大切です。
Linuxのコマンドを使ってみたい、Ubuntuで問題ない、データが残らなくても問題ない、と言う方はクラウド開発環境のPaizaCloudクラウドIDEというサービスもおすすめです。