/와 //의 차이점 [중복]

/와 //의 차이점 [중복]

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두 개 이상이 /이를 트리거하는 것 같습니다.

관련 정보