私のマシンでは、セットアップ方法のために、次のことを行っています。
cd ~ # /work1/jleffler
cd ~jleffler # /u/jleffler
1 つ目は、環境変数の値に注意を払います$HOME
。NFS マウントのファイル システムではなく、意図的に$HOME
ローカル ファイル システムに設定しました。2 つ目は、パスワード ファイルを読み取り (おおよそ、NIS は少し複雑です)、パスワード ファイルに私のホーム ディレクトリが示されていることがわかり、/u/jleffler
そのディレクトリに変更されます。
厄介なのは、ほとんどのソフトウェアが上記のように動作することです (シェルの POSIX 仕様では、この動作が必要です)。パスワードファイルからの情報を $HOME の現在の値として扱うソフトウェアを使用していますが (それを使用する選択肢はあまりありません)、これは間違っています。
これを質問に適用すると、他の人が指摘したように、「cd ~x
」はユーザー「x」のホームディレクトリに移動し、より一般的には、チルダ展開が行われるたびに、~x
ユーザー「x」のホームディレクトリを意味します(これはエラーですユーザー「x」が存在しない場合)。
言及する価値があるかもしれません:
cd ~- # Change to previous directory ($OLDPWD)
cd ~+ # Change to current directory ($PWD)
~+
現在のディレクトリにつながるパスでシンボリックリンクを移動するという奇妙なことをしない限り、「 」の用途をすぐには見つけることができません。
次のこともできます。
cd -
と同じ意味~-
です。