//foo/bar는 /foo/bar와 어떤 시스템에서 다릅니까?

//foo/bar는 /foo/bar와 어떤 시스템에서 다릅니까?

POSIX 사양 전반에 걸쳐 다음과 같은 조항이 있습니다(1,2,...) 구현을 통해 특별히 2로 시작하는 경로를 처리할 수 있습니다 /.

POSIX 애플리케이션(모든 POSIX 호환 시스템에 이식 가능한 POSIX 사양으로 작성된 애플리케이션)은 와 //foo/bar동일 하다고 가정할 수는 있지만 와 동일하다고 /foo/bar가정할 수는 없습니다 .///foo/bar/foo/bar

이제 이 문제를 구체적으로 처리하는 POSIX 시스템(역사적이며 여전히 유지 관리되는)은 무엇입니까 //foo? 나는 믿는다(나는 지금잘못된 것으로 입증됨) POSIX 규정은 Unix 변형(XENIX) 및 Windows POSIX 계층에 대해 Microsoft에서 주도합니다(누구나 확인할 수 있습니까?).

이는 Microsoft Windows용 POSIX와 유사한 레이어인 Cygwin에서 사용됩니다. Microsoft Windows 이외의 시스템이 있습니까? 개방형 가상 관리 시스템?

시스템의 어떤 부분이 //foo/bar특별하며 그 목적은 무엇입니까? //host/path네트워크 파일 시스템 액세스를 위해? 가상 파일 시스템?

뭔가하다애플리케이션Unix 계열 시스템(시스템이 아닌 경우)에서 실행되는 API는 경로를 특별히 처리합니까 (그렇지 않으면 파일 시스템의 경로 //foo/bar로 처리된다는 맥락에서 )?/foo/bar


편집하다, 그 이후로 나는Austin Group 메일링 리스트에 질문 게시명세서에 있는 치료의 기원에 대해 다루고 있으며 //foo/bar, 그 논의는 (적어도 고고학적 관점에서) 흥미로운 읽을 거리입니다.

답변1

이것은 지금까지 제공된 답변의 편집 및 색인입니다. 이 기사는커뮤니티 위키, 평판이 100 이상인 사람은 누구나 편집할 수 있으며, 누구도 평판을 얻지 못합니다. 자유롭게 자신의 답변을 게시하고 여기에 링크를 추가하세요(또는 제가 그렇게 할 때까지 기다려주세요). 이상적으로 이 답변은 단순한 요약이어야 합니다(짧은 항목을 포함하는 반면, 다른 개별 답변은 자세한 정보를 포함함).

현재 적극적으로 유지 관리되는 시스템:

없어진 시스템

//foo/bar경로 처리 전용 애플리케이션

답변2

Unix 계열 시스템에서 실행되는 일부 응용 프로그램(시스템의 API가 아닌 경우)은 //foo/bar 경로를 특별히 처리합니까?

Perforce가 디포를 참조하기 위해 경로를 사용한다는 것을 알고 있습니다 //depot/A/B/C/D. Perforce는 //Client/C/D클라이언트가 .Perforce를 가리킬 때 //depot/A/B/경로도 지원합니다 . 여기서 로컬 파일 시스템에는 이러한 경로가 없을 수 있습니다.

p4 filelog //depot/A/B/C/D파일이 없더라도 파일의 기록이 표시됩니다 /depot/A/B/C/D.

p4 filelog C/D해당 디렉터리에서 실행하면 파일 기록도 표시됩니다.

인용하다:https://www.perforce.com/perforce/r12.1/manuals/cmdref/o.fspecs.html

답변3

수십 년 전,텍트로닉스Utek (BSD 4.2 기반 Unix, National Semiconductors 최초)32016CPU 다음은 Motorola68020s)는 dfs 서버 의 파일을 //foo/bar참조하는 DFS(분산 파일 시스템)라는 것을 제공합니다 . 나중에 Sun의 NFS에서는 더 이상 사용되지 않습니다./barfoo

불행하게도 아직 이것을 뒷받침할 인용문이 없지만 결국 내 지하실에서 Utek 문서를 찾아 이 답변을 업데이트할 수도 있습니다.

답변4

이것리액트OS프로젝트 - NT 커널 및 관련 API의 무료 오픈 소스 구현 - 분명히 자체 구현도 약속합니다.인텍스POSIX와 유사한 하위 시스템(MS의 원래 OS/2 하위 시스템도문맥상 언급됨, ReactOS 유사체에 대한 언급 없음).

지금까지의 노력에도 불구하고작은, fork()분명히 현실입니다. 이는 아래 나열된 하위 시스템 프로젝트 페이지에서 발췌한 내용입니다.공개 질문:

POSIX 애플리케이션에서 Win32 경로를 사용하는 가장 좋은 방법은 무엇입니까? 아이디어:

  • //<device>/<path>로 번역 하다\\.\<device>\<path> //<letter>/<path>(드라이브 문자 - => <letter>:\<path>- 및 특수 이스케이프 문자 //./<raw text>=> 에는 특별한 경우가 있습니다 \\.\<raw text>. 지정된 UNC 경로를 사용할 수 있습니다 //unc/<path>.). //경로는 구현별 동작을 위한 표준에 의해 예약되어 있으며 //<letter>/Win32 경로를 이스케이프하는 구문은 기존 POSIX 호환성 환경에서 널리 사용됩니다.

  • "네이키드" Win32 경로를 식별하는 경험적 방법

  • Win32 경로 및 경로 //의 대소문자를 구분하지 않는 조회(표준에서 이러한 구현별 //경로 동작을 허용합니까?).

이 중 몇 개가 구현되었는지 확실하지 않기 때문에 이것이 자격이 있는지는 확실하지 않지만 문제에 대한 유용하고 흥미로운 설명이라고 생각합니다.

관련 정보