/ 和 // 之间的区别

/ 和 // 之间的区别

在 bash 提示符一上,三个或更多斜杠 (/,///,////, ...) 被视为单个斜杠,而两个斜杠 (//) 则保留原样:

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)似乎不会触发对显示的内部路径的清理pwd,但两个以上/似乎会触发此操作。

相关内容