2016-07-26 9 views
3

Я все еще новичок в Linux, и мне интересно: что такое каталог Linux //?Что делает cd // означает (сменить каталог на //)

я могу изменить реж (CD) в корневой директории с помощью CD/

~> cd/
/> 

Использование PWD (имя печать рабочего каталога) говорит мне, что я нахожусь в корне (/)

/> pwd 
/

Использование Ls (список содержимого каталога) я вижу следующее (используя Raspbian Jessie)

/> ls 
bin boot dev etc home include lib lost+found media mnt opt proc root run sbin share srv sys tmp usr var 

по ошибке я изменил каталог в // и нашел что это действительно было:

~> cd // 
//> 

Также с помощью PWD говорит мне, что я в директории под названием //:

//> pwd 
// 

Но с помощью Ls я увидеть в том, что я, наверное, до сих пор в «нечто» похожий на корень.

//> ls 
bin boot dev etc home include lib lost+found media mnt opt proc root run sbin share srv sys tmp usr var 

... но говорит мне, что называется // (rootroot ;-)

Так что директория //?

+2

Это то же самое, что и '/', но я тоже удивляюсь, почему 'cd //' устанавливает текущий каталог на '//' – yoones

+1

По-видимому, все два '/' лишаются: 'cd ///' переходит в '/'и' cd //// 'to' // '. – fedorqui

+1

Прекрасно покрыт [unix, разница между путями, начинающимися с '/' и '//'](http://unix.stackexchange.com/q/12283/40596), который был перенесен из [so]. – fedorqui

ответ

7

В Linux (и большинстве других платформ) множественные слэши в пути интерпретируются так же, как и одна косая черта. Тем не менее, POSIX specification утверждает, что:

Имени пути, которое начинается с двумя последовательными косыми может быть истолкованы в определенном реализацией образом, хотя более двух ведущие косых должны рассматриваться как единая косая черта.

// может быть зарезервирован для специального назначения (например: доступ к сетевому диску в Cygwin). Однако, если вы проверите ls в/и // на Linux, вы увидите тот же контент.