Qual è la directory double slash (//)?


29

Ho erroneamente digitato cd //invece di cd /. Con mia sorpresa, la directory corrente è stata visualizzata come //.

Cos'è quella directory? Perché esiste?

apple@snipped $ pwd
/home/apple
apple@snipped $ cd /
apple@snipped $ pwd
/
apple@snipped $ cd //
apple@snipped $ pwd
//
apple@snipped $ cd ///
apple@snipped $ pwd
/

Risposte:


42

//è di solito lo stesso di /. ///deve essere uguale a /.

lsti avrebbe mostrato che ti ha cd //portato alla directory principale, come cd /fa.

$ cd /
$ ls
bin
boot
dev
...
$ cd //
$ ls
(same as above)

Il modo tecnico per confermare che sono sicuramente la stessa directory è:

$ cd /
$ stat -c "%i" .
2
$ cd //
$ stat -c "%i" .
2

stamperanno lo stesso numero di inode, nel senso che sono la stessa cosa.

I dettagli gory sono documentati nella specifica POSIX Risoluzione nome percorso :

Un percorso composto da una singola barra deve essere risolto nella directory principale del processo. Un percorso null non deve essere risolto con successo. Un nome di percorso che inizia con due barre successive può essere interpretato in modo definito dall'implementazione, anche se più di due barre iniziali devono essere trattate come una barra singola.

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.