이중 슬래시 (//) 디렉토리는 무엇입니까?


29

실수 cd //대신에 입력 했습니다 cd /. 놀랍게도 현재 디렉토리는로 표시되었습니다 //.

그 디렉토리는 무엇입니까? 왜 존재합니까?

apple@snipped $ pwd
/home/apple
apple@snipped $ cd /
apple@snipped $ pwd
/
apple@snipped $ cd //
apple@snipped $ pwd
//
apple@snipped $ cd ///
apple@snipped $ pwd
/

답변:


42

//일반적으로와 동일합니다 /. ///와 같아야합니다 /.

lscd //루트 디렉토리로 이동 했음을 보여 주었을 것입니다 cd /.

$ cd /
$ ls
bin
boot
dev
...
$ cd //
$ ls
(same as above)

이들이 동일한 디렉토리인지 확인하는 기술적 방법은 다음과 같습니다.

$ cd /
$ stat -c "%i" .
2
$ cd //
$ stat -c "%i" .
2

그들은 같은 아이 노드 번호를 인쇄 할 것인데, 같은 것을 의미합니다.

자세한 내용은 POSIX Pathname Resolution 사양에 설명되어 있습니다 .

단일 슬래시로 구성된 경로 이름은 프로세스의 루트 디렉토리로 해석됩니다. 널 경로명은 성공적으로 해결되지 않아야한다. 두 개의 연속 슬래시로 시작하는 경로 이름은 구현 정의 방식으로 해석 될 수 있지만 두 개 이상의 선행 슬래시는 단일 슬래시로 취급됩니다.

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