Perché è valido il percorso con più barre rovesciate?


3

Nel sistema Linux, se cambi directory in '//' puoi sfogliare il file system, mentre il tuo root sarà '//'. Questo non accade con più barre, più barre producono '/' originale.

Possibili directory di lavoro:

[user@host /]$ cd //
[user@host //]$ pwd # Results in double root
//
[user@host //]$ cd srv/ftp
[user@host ftp]$ pwd # Double root is preserved but no other effects observed
//srv/ftp
[user@host /]$ cd ////
[user@host /]$ cd ///////
[user@host /]$ cd ////////// # Additional slashes change nothing
[user@host /]$ 

Perché succede? Come è anche valido?

(Osservato sull'host Linux 4.18.16-arch1-1-ARCH # 1 SMP PREEMPT sab 20 ott 22:06:45 UTC 2018 x86_64 GNU / Linux)


Risposte:


0

Bene ho trovato la risposta dopo una migliore ricerca, si scopre:

Sono consentite più barre e equivalgono a una singola barra. Dalla specifica Single Unix (versione 3), definizioni di base §3.266 nome percorso: "Più barre successive sono considerate uguali a una barra".

C'è un'eccezione: se un percorso inizia esattamente con due barre, può essere trattato in modo diverso (rif: definizioni base §4.11 risoluzione percorso). Linux stesso non lo fa, anche se alcune applicazioni potrebbero, e altri sistemi unix-ish lo fanno (ad esempio Cygwin).

Fonte: https://unix.stackexchange.com/a/1919/276644

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.