プロが教える店舗&オフィスのセキュリティ対策術

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でうまくいかないので困っています。

A 回答 (3件)

ANo1.です。

ごめんなさい。逆です。
質問文に書かれた linuxの動作が、シンボリックリンクの素直な性質ではなく、シェルの機能で便利にしてあるのです。質問者様には、便利なはずの機能が逆に不便になってしまっているようですが。

その機能を抑制するには、次のいずれかです。
1. cd -P .. というように、cdコマンドにPオプションをつける。
2. bash起動時に -Pオプションをつける
3. .profileなどに set -P と書いておく。
    • good
    • 0
この回答へのお礼

補足説明、ありがとうございます。
~/.bashrc に alias cd='cd -P' と書くことで解決しました。

お礼日時:2006/07/05 09:50

>ログインシェルの機能の問題ではないですか。


なるほど。
うちでも(fedora5)試してみましたがcshならいけるようです
質問者さんの例で言うと
# cd ~/dir3
# pwd
/root/dir3
 
# csh
# pwd
/root/dir2/dir2/dir3
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
Unix では csh を使っていたので問題にならなかったのですね。

お礼日時:2006/07/05 09:53

それはOSの問題ではなくて使っているログインシェルの機能の問題ではないですか。



本来は、お書きになったlinuxの動作が正しい動作です。シンボリックリンクというのはそういうものなので。
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
では、「深い階層にあるディレクトリに簡単に移動する」にはどうしたらいいのでしょうか? 何か便利な方法があれば教えてください。よろしくお願いします。

お礼日時:2006/07/04 19:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!