
~
私の基本的な質問は、なぜ両方のパスがホーム(つまり)を指すのかということです。同じ家を指していますか、それとも冗長ですか?
重複していると疑われます。そうでない場合は、cd ..
再インポートするディレクトリをどのように決定しますか?
答え1
動作は、cd ..
シェル、シェル設定、およびシンボリックリンクに関連するかどうか(この場合はそうである可能性が高い)によって異なります。
bash-4.1$ cd /var/tmp
bash-4.1$ mkdir -p real/cats
bash-4.1$ ln -s real/cats dogs
bash-4.1$ cd dogs/
bash-4.1$ pwd
/var/tmp/dogs
bash-4.1$ pwd -P
/var/tmp/real/cats
bash-4.1$ cd ..
bash-4.1$ pwd
/var/tmp
bash-4.1$ set -o physical
bash-4.1$ cd dogs
bash-4.1$ pwd
/var/tmp/real/cats
bash-4.1$ cd ..
bash-4.1$ pwd
/var/tmp/real
bash-4.1$
/var/mail
ディレクトリを調べると、ls
Appleが行ったシンボリックリンクがあることを確認できます。
答え2
macOSでは(あなたが言及したものから推測されます/Users
)、/var/mail/username
これはmbox
ユーザーがフォーマットされた受信トレイメールボックスであり、username
同じ/Users/username
ユーザーのホームディレクトリです。
/var/mail/username
変更されていないデフォルトのmacOSインストールでは、いいえは、ユーザーのホームディレクトリまたはへの/Users/username
シンボリックリンクです/var/mail/username
。
cd ..
デフォルトでは、次のように動作しますcd -L ..
。論理的代わりに親ディレクトリ物理親ディレクトリ(cd -P ..
)。
ksh
macOSのドキュメントから:
デフォルトでは、シンボリックリンク名はディレクトリ名を検索すると文字通りに処理されます。これは
-L
オプションに対応します。この-P
オプションを使用すると、ディレクトリを決定する際にシンボリックリンクが確認されます。または、コマンドライン-L
の最後のインスタンスによって使用される方法が決まります。-P