/と//の違い[重複]

/と//の違い[重複]

bashプロンプトでは、1つ、3つ以上のスラッシュ(/、///、////、...)は単一のスラッシュとして処理され、2つのスラッシュ(//)はそのまま残ります。

12:07 $ cd /
12:07 $ pwd
/
12:07 $ cd //
12:07 $ pwd
//
12:07 $ ls
bin  boot  cdrom  dev  etc  home  initrd.img  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz
12:07 $ cd ///
12:07 $ pwd
/
12:07 $ ls
bin  boot  cdrom  dev  etc  home  initrd.img  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz

一般的な容疑者のバージョン:

12:07 $ bash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

12:20 $ dpkg-query -s coreutils | grep Version
Version: 8.21-1ubuntu5

ベストアンサー1

現在のディレクトリを表示するために、bash現在のディレクトリへの実際の(最短)パスと必ずしも一致する必要はないいくつかの内部状態が維持されます。これは、cdソフトリンクを通過する場合にパスを保存するのに役立ちます。

cd //たとえば、実行中cd //tmp)表示された内部パスクリーンアップをトリガーしないようですが、pwd2つ以上が/それをトリガーしているようです。

おすすめ記事