GNU/Linux >> Znalost Linux >  >> Linux

Na jakých systémech se //foo/bar liší od /foo/bar?

V celé specifikaci POSIX existuje ustanovení (1, 2, 3…), které umožňuje implementacím zpracovávat cestu začínající dvěma / speciálně.

Aplikace POSIX (aplikace napsaná podle specifikace POSIX, která má být přenosná do všech systémů kompatibilních s POSIX) nemůže předpokládat, že //foo/bar je stejný jako /foo/bar (ačkoli mohou předpokládat, že ///foo/bar je stejný jako /foo/bar ).

Co jsou ty systémy POSIX (historické a stále udržované), které zacházejí s //foo speciálně? Věřil jsem (teď se ukázalo, že jsem se mýlil), že ustanovení POSIX bylo vyvinuto společností Microsoft pro jejich Unixovou variantu (XENIX) a možná i Windows POSIX vrstvu (může to někdo potvrdit?).

Používá ji Cygwin, což je také vrstva podobná POSIXu pro Microsoft Windows. Existují nějaké jiné systémy než Microsoft Windows? OpenVMS?

Na systémech, kde je //foo/bar je speciální, k čemu se používá? //host/path pro přístup k síťovým souborovým systémům? Virtuální souborové systémy?

Proveďte nějaké aplikace běžící na Unixových systémech – pokud nejde o systémové API – zacházet s //foo/bar cesty speciálně (v kontextech, kde jinak zacházejí s /foo/bar jako cestu k souborovému systému)?

Upravit , od té doby jsem na mailing listu austin-group položil otázku o původu //foo/bar zpracování ve specifikaci a diskuse je zajímavé čtení (alespoň z hlediska archeologie).

Přijatá odpověď:

Toto je kompilace a rejstřík dosud uvedených odpovědí. Tento příspěvek je wiki komunity , může to upravovat kdokoli s reputací 100+ a nikdo z toho reputaci nezíská. Neváhejte a napište svou vlastní odpověď a přidejte na ni odkaz sem (nebo počkejte, až to udělám). V ideálním případě by tato odpověď měla být pouze souhrnem (s krátkými záznamy, zatímco jednotlivé ostatní odpovědi by měly podrobnosti).

Aktuálně aktivně udržované systémy:

  • Cygwin . Vrstva POSIX pro Microsoft Windows. Používá se pro cesty Windows UNC.
  • UWIN od 1.3. Další vrstva POSIX pro Windows. Používá se alespoň pro //host/file cesty pro sdílení souborů v síti.
  • IBM z/OS jak je uvedeno v nástroji pro sledování chyb POSIX, z/OS řeší //pathname požadavky na datové sady MVS , nikoli do síťových souborů. Příklad.

Zaniklé systémy

  • Doména/OS Apollo (potvrzeno). Také zmíněn v oficiálním popisu UNC (Universal Naming Convention) jako možný původ //host/path notace (viz také strana 2-15).

    Podle Donna Terryho to byla společnost HP (která získala Apollo Computers), kdo prosazoval zahrnutí tohoto ustanovení do specifikace POSIX pro doménu/OS.

  • Tektronix Utek (potvrzeno), kde //host/path je cesta k distribuovanému systému souborů .

  • QNX 4 se systémem distribuovaného zpracování FLEET, kde //123/path je /path na uzlu 123. (Zmíněno v dokumentaci QNX 6.)

  • AT&T SysV Release 3 (neověřeno). //host/path v systému vzdáleného sdílení souborů RFS (ukončeno v SVR4).

  • SEL/Gould UTX-32 (neověřeno). Používá se pro //host/path .

Aplikace, které zacházejí s //foo/bar speciálně pro cesty

  • Perforce kde //depot/A/B/C/D odkazuje na cestu v depu .
  • Blender . V jeho konfiguraci použijete // prefix pro relativní cesty (na směs přidruženou k datovému bloku).
  • Bazel sestavení systém používá // prefix pro popisky cílů v grafu sestavení Bazel.
Související:Jak potlačit zprávu z programu při instalaci pro použití v programu bash?
Linux
  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. Bash =~ Regex A Https://regex101.com/?

  3. Debian – Přesunutí /var, /home do samostatného oddílu?

  1. Jaký je rozdíl mezi /bin/false a /sbin/nologin jako uživatelský shell nologin

  2. Django static_root v /var/www/... - žádná oprávnění ke collectstatic

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Jak zjistit, ze které složky běží proces?

  2. Jaké jsou významy /usr/sbin, /usr/local/sbin a /usr/local/bin?

  3. DD z /dev/zero do /dev/null...co se vlastně stane