- ベストアンサー
シンボリックリンクでリンク先にcdしたい
cd ln -s ./dir1/dir2/dir3 . とするとdir3へのシンボリックリンクができます。(~/dir3) しかし、 cd ~/dir3 cd .. とすると、~/dir1/dir2 ではなくて、home ( ~ ) にcdしてしまいます。 cd ~/dir3 により ~/dir1/dir2/dir3 にcd することはできないのでしょうか? Linux はRedHatです。以前使っていたUnixではこのようなことができたと思いますが、Linuxでうまくいかないので困っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo1.です。ごめんなさい。逆です。 質問文に書かれた linuxの動作が、シンボリックリンクの素直な性質ではなく、シェルの機能で便利にしてあるのです。質問者様には、便利なはずの機能が逆に不便になってしまっているようですが。 その機能を抑制するには、次のいずれかです。 1. cd -P .. というように、cdコマンドにPオプションをつける。 2. bash起動時に -Pオプションをつける 3. .profileなどに set -P と書いておく。
その他の回答 (2)
- umasikajiro
- ベストアンサー率67% (545/803)
>ログインシェルの機能の問題ではないですか。 なるほど。 うちでも(fedora5)試してみましたがcshならいけるようです 質問者さんの例で言うと # cd ~/dir3 # pwd /root/dir3 # csh # pwd /root/dir2/dir2/dir3
お礼
回答、ありがとうございます。 Unix では csh を使っていたので問題にならなかったのですね。
- a-saitoh
- ベストアンサー率30% (524/1722)
それはOSの問題ではなくて使っているログインシェルの機能の問題ではないですか。 本来は、お書きになったlinuxの動作が正しい動作です。シンボリックリンクというのはそういうものなので。
お礼
回答、ありがとうございます。 では、「深い階層にあるディレクトリに簡単に移動する」にはどうしたらいいのでしょうか? 何か便利な方法があれば教えてください。よろしくお願いします。
お礼
補足説明、ありがとうございます。 ~/.bashrc に alias cd='cd -P' と書くことで解決しました。