В спецификации POSIX есть положение ( 1 , 2 , 3 ...), позволяющее реализациям обрабатывать путь, начиная с двух, /
специально.
Приложение POSIX (приложение, записанное в спецификации POSIX для переноса на все POSIX-совместимые системы) не может предполагать, что //foo/bar
оно совпадает /foo/bar
(хотя они могут предполагать, что ///foo/bar
оно совпадает с /foo/bar
).
Что же это за системы POSIX (исторические и до сих пор поддерживаемые), которые обрабатывают //foo
специально? Я полагал (теперь я был доказан, что ошибался ), что POSIX выдвинул Microsoft для их варианта Unix (XENIX) и, возможно, уровня POSIX для Windows (кто-нибудь может это подтвердить?).
Он используется Cygwin, который также является POSIX-подобным слоем для Microsoft Windows. Существуют ли системы, отличные от Microsoft Windows? OpenVMS?
В системах, где //foo/bar
особенное, для чего оно используется? //host/path
для доступа к сетевым файловым системам? Виртуальные файловые системы?
Некоторые приложения, работающие на Unix-лайках, если не системный API, обрабатывают //foo/bar
пути специально (в тех случаях, когда они иначе трактуются /foo/bar
как путь в файловой системе)?
Edit , с тех пор я задал вопрос в списке рассылки Austin-Group о происхождении //foo/bar
обработки в спецификации, и обсуждение является интересным чтением (по крайней мере, с точки зрения археологии).
ls -ld ///
также будет отображаться ///
, ls
просто отображает файл, которому говорят, чтобы отобразить, как он был дан. Я ищу системы или приложения, которые обрабатывают // foo / var специально (не как путь в файловой системе), как 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.
... не совсем unix, хотя ^^).
file://
как http://
и тому подобное. На chrome здесь на работе Windows UNC путь, который у меня сейчас открыт, есть file:////$MACHINE/$SHARENAME/index.html
(хотя по некоторым причинам он также понимает file://$MACHINE/...
)