pwd -Lオプションの使い方を完全ガイド!シンボリックリンクをそのまま表示する方法を初心者向けに解説
生徒
「Linuxで、シンボリックリンクっていうのを使ってるんですけど、pwdで見ると違うパスが表示されることがあるんです…」
先生
「それは pwd が実体のパス(物理パス)を表示しているからかもしれませんね。リンクとしての見た目を保ちたいときは pwd -L を使うと良いですよ。」
生徒
「見た目を保つ?どういうことですか?」
先生
「では、シンボリックリンクと pwd -L の関係について、分かりやすく説明していきましょう!」
1. シンボリックリンクとは?
Linuxでは、あるディレクトリやファイルへの“近道”を作ることができます。これをシンボリックリンク(symbolic link)と呼びます。
Windowsでいう「ショートカット」と似たようなもので、別の場所にあるファイルやフォルダを指し示すリンクのことです。
たとえば、/home/taro/projects/current が /var/www/html へのシンボリックリンクになっている場合、見た目は「projects/current」にいても、実体は「/var/www/html」なのです。
2. pwdコマンドとpwd -Lの違い
pwd には、実はオプションがあります。
pwd -P:物理パス(Physical path)=リンクをたどった実体のパスを表示pwd -L:論理パス(Logical path)=リンクとしての見た目のパスを表示
つまり、pwd -L は、あくまで「見た目の通り」にパスを表示するという意味になります。
3. pwd -Lを実際に使ってみよう
次のようにシンボリックリンクのある場所に移動して、pwd と pwd -L を比較してみましょう。
たとえば、~/linkdir が /var/data のシンボリックリンクだとします。
cd ~/linkdir
pwd
/var/data
これは実体の場所(物理パス)を表示しています。一方、-L オプションを使うと:
pwd -L
/home/taro/linkdir
このように、リンクをたどらずに「元のリンクの名前」が表示されます。
4. なぜ論理パスが必要なのか?
「シンボリックリンクのままのパス」を知りたい理由はいくつかあります。
- 作業中のリンク名をそのまま表示して、スクリプトや設定と整合性を保ちたい
- 見た目上の構成(ユーザーが意識するリンク構造)を確認したい
- 運用上、物理パスではなく論理的な「プロジェクト名」などを保持したい
こうした理由から、pwd -L は現場でも意外とよく使われています。
5. デフォルトはpwd -L?
多くのLinux環境では、オプションを指定せずに pwd を実行すると、デフォルトで -L の挙動になることが多いです。
しかし環境や設定によっては pwd が -P(物理パス)で動作することもあるため、明示的に -L を指定する習慣をつけておくと安全です。
6. 論理パスと物理パスの比較まとめ
以下のように使い分けましょう。
pwdまたはpwd -L:リンクの見た目をそのまま表示(論理パス)pwd -P:リンクを解決して実体の場所を表示(物理パス)
どちらを使うかは、「自分が知りたいのはリンクの名前か、実際の場所か」で判断しましょう。
7. よくある間違いや注意点
- スペルミス:
pwd -l(小文字のL)とpwd -1(数字の1)を間違えるとエラーになります。 - シンボリックリンクがない状態で
-Lを使っても、pwdと結果は変わりません。 - スクリプトや自動処理では
-Lの指定が明示的である方がバグを防げます。
8. pwd -Lは「見た目の住所」を知るためのコマンド
Linuxに慣れてくると、ディレクトリをリンクでつないで、複数の場所を仮想的に構成する場面が増えてきます。
そんなとき pwd -L は、「自分がどのリンクから入ってきたのか」という“見た目の経路”を確認するためにとても役立ちます。
まるでナビアプリで「通ってきた道」を確認するように、pwd -Lを使えば「シンボリックリンクをたどる前の名前のまま」で今の場所がわかるのです。