cd /
との違いは何でしょうか?を末尾にcd //
追加しても何も起こらないことがわかります。しかし、と を追加すると、次のことがわかりました。/
cd //
pwd
$ cd //
$ pwd
//
/
との違いは何ですか//
?ls
両方のディレクトリの は同じコンテンツを表示します。 はなぜ//
必要なのですか?
答え1
/
//
同じディレクトリを指しています。パス内の繰り返しのスラッシュは単一のスラッシュと同等である。
この動作は POSIX によって義務付けられており、ほとんどのアプリケーションはそれに従います。例外は、「2 つの連続したスラッシュで始まるパス名は、実装定義の方法で解釈される可能性がある」という点です。
実際に、ここで見ているのは、Linux が
//
bash の現在のディレクトリ追跡で何か特別なことを行っているということではありません。
$ bash -c 'cd //; pwd'
//
$ bash -c 'cd //; /bin/pwd'
/