Linuxコマンドcd -L解説|シンボリックリンクを解決せず論理パスで移動する方法
生徒
「先生、Linuxでディレクトリを移動するcdコマンドに-Lオプションがあるって聞いたんですが、どういう意味ですか?」
先生
「-Lは『論理パス』で移動するという指定なんです。つまり、シンボリックリンクをそのままの形で扱って移動します。」
生徒
「シンボリックリンクってショートカットみたいなものですよね?」
先生
「その通りです。ショートカットの道を通って移動するのがcd -Lです。では実際にどんな違いがあるか見てみましょう。」
1. cdコマンドの基本
cdコマンドはLinuxで「change directory」の略で、現在の作業ディレクトリを変更する役割を持ちます。例えば以下のように実行すると、ユーザーのDocumentsフォルダに移動できます。
cd Documents
pwd
/home/user/Documents
このように、cdは作業の基盤となる重要なコマンドです。
2. シンボリックリンクとは?
シンボリックリンクとは、別のディレクトリやファイルを指し示すための仕組みで、Windowsでいう「ショートカット」と似ています。リンク先にアクセスすると、あたかもその場所に本物があるように扱うことができます。
例えば、/var/www/htmlを指す/home/user/webというリンクを作れば、短いパスで目的地にたどり着けます。
3. cd -Lの動作
cd -Lを使うと、リンク先を解決せずに論理的なパスを保持したまま移動します。つまり「案内標識をそのまま辿る」イメージです。
cd -L /home/user/web
pwd
/home/user/web
この場合、実際の場所は/var/www/htmlですが、表示されるパスはあくまでも/home/user/webのままです。
4. cd -Lとcd -Pの違い
cd -Pはシンボリックリンクを解決して物理的なパスを表示します。一方、cd -Lはリンクを解決せず論理パスをそのまま使います。
-L:論理パス(リンクをそのまま利用)-P:物理パス(リンクを解決して実際の場所に移動)
通常、Linuxでは-Lがデフォルトで採用されていることが多いです。
5. cd -Lが役立つシーン
cd -Lを使うと、リンクを辿って作業する際に「見た目のパスを維持」できるため、チームで共有している環境などでは便利です。
- 複数の人が同じシンボリックリンクを使って作業しているとき
- 本物のパスが長くて覚えにくい場合に、短いリンクを使いたいとき
- あえて「論理パスのまま」作業を続けたい場合
特に初心者は「リンクの名前を見てどこに移動したか分かりやすい」という点で、cd -Lを使うメリットがあります。
6. 初心者へのアドバイス
Linuxの学習を始めたばかりの人は、シンボリックリンクの仕組みをすぐに理解するのは難しいかもしれません。ですが、cd -Lは「ショートカットを通って移動する」と覚えておけば大丈夫です。
もし物理的な場所を確認したい場合はcd -Pを、見た目のパスをそのまま扱いたいときはcd -Lを選ぶ、と整理しておくと理解しやすくなります。