Em toda a especificação POSIX, há provisão ( 1 , 2 , 3 ...) para permitir que as implementações tratem um caminho que começa com dois /
especialmente.
Um aplicativo POSIX (um aplicativo gravado na especificação POSIX para ser portátil em todos os sistemas compatíveis com POSIX) não pode assumir //foo/bar
o mesmo valor /foo/bar
(embora eles possam assumir ///foo/bar
o mesmo valor /foo/bar
).
Agora, quais são os sistemas POSIX (históricos e ainda mantidos) que tratam //foo
especialmente? Eu acreditava (agora estou provado errado ) que a provisão POSIX foi enviada pela Microsoft pela sua variante Unix (XENIX) e possivelmente pela camada POSIX do Windows (alguém pode confirmar isso?).
É usado pelo Cygwin, que também é uma camada semelhante ao POSIX para Microsoft Windows. Existem sistemas que não sejam do Microsoft Windows? OpenVMS?
Em sistemas onde //foo/bar
é especial, para que é usado? //host/path
para acesso a sistemas de arquivos de rede? Sistemas de arquivos virtuais?
Alguns aplicativos em execução no estilo Unix - se não a API do sistema - tratam os //foo/bar
caminhos especialmente (em contextos onde eles tratam /foo/bar
como o caminho no sistema de arquivos)?
Edit , desde então, fiz uma pergunta na lista de discussão do grupo austin sobre a origem do //foo/bar
manuseio nas especificações, e a discussão é uma leitura interessante (pelo menos do ponto de vista da arqueologia).
ls -ld ///
também será exibido ///
, ls
apenas exibe o arquivo que está sendo solicitado a exibir como foi fornecido. Estou procurando por sistemas ou aplicativos que tratem // foo / var especialmente (não como um caminho no sistema de arquivos) como o Cygwin.
IBM's z/OS resolves //pathname requests to MVS datasets (as opposed to the hierarchical filesystem (HFS)) (......) Additionally, z/OS would not accept or recognize additional "directory" or "file" components appended to such paths.
... não exatamente unix, no entanto ^^).
file://
mesma forma http://
e assim por diante . Em cromo aqui no trabalho um caminho janelas UNC que eu tenho aberto agora é file:////$MACHINE/$SHARENAME/index.html
(embora por algum motivo ele também entende file://$MACHINE/...
)