“//”디렉토리는 무엇입니까?


12

다양한 리눅스 머신에서

cd /

cd //

쉘은 해당 명령을 사용한 후 현재 디렉토리가 '/'또는 '//'라고 말합니다.

따라서 질문은 '/'와 '//'의 차이점은 무엇이며, 대답이 '차이가 없다면'왜 '//'가 '/'와 다르게 표시됩니까?

BTW

cd ///
cd ////
cd /////

현재 디렉토리가 '/'라고 말하는 쉘의 모든 결과

예제 세션은 다음과 같습니다.

[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$

2
이것은 bash 특정 예외로 보입니다. cd //csh 또는 zsh 를 시도하면 pwd'/'만 표시됩니다.
Doug Harris

흥미-그것은 그것에 약간의 빛을
발산

1
비교를 위해 : cd //usr/bin"// usr / bin"을 cd /usr//bin제공 하지만 "/ usr / bin"(Bash)을 제공합니다.
추후 공지가있을 때까지 일시 중지되었습니다.

답변:


14

의가 물어 보자 그 사람 자신 (체스터 Ramey가)를 :

E10) 왜 'cd //'가 $ PWD를 '//'로 남겨 두는가?

'cd'에 대한 설명에서 POSIX.2 는 현재 작업 디렉토리를 정규화 할 때 3 개 이상의 선행 슬래시가 단일 슬래시로 대체 될 수 있다고 말합니다 .

이것은 역사적 호환성을위한 것으로 추정됩니다. 특정 버전의 Unix 및 초기 네트워크 파일 시스템에서는 // hostname / path 형식의 경로를 사용하여 'hostname'서버의 'path'에 액세스했습니다.


John T의 (아직 꽤 좋은) 답변보다 훨씬 더 나은 답변
innaM

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.