Çift eğik çizgi (//) dizini nedir?


29

Yanlışlıkla cd //yerine yazdım cd /. Sürpriz, geçerli dizin olarak göründü //.

Bu dizin nedir? Neden var

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

Yanıtlar:


42

//genellikle aynıdır /. ///aynı olması gerekir /.

lsEğer gösterilen olurdu cd //kök dizinine aldı, aynı cd /yapar.

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

Kesinlikle aynı dizinde olduklarını onaylamanın teknik yolu:

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

Aynı inode numarasını basarlar, yani aynı şeydirler.

Kanlı detayları POSIX Pathname Resolution spesifikasyonunda belgelenmiştir :

Tek bir eğik çizgiden oluşan bir yol adı işlemin kök dizinine çözümlenir. Boş bir yol adı başarıyla çözülmeyecek. İki ardışık eğik çizgiyle başlayan bir yol adı, uygulama tanımlı bir şekilde yorumlanabilir, ancak ikiden fazla eğik çizgi tek bir eğik çizgi olarak değerlendirilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.