Windows Linux'un sembolik bağlantılarını tanıyor mu?


15

Sadece bir Windows sisteminin sembolik bağlantıları nasıl ele aldığını merak ediyordum. En iyi tahminim onları tanımayacak, ama tam olarak emin değilim.

Ayrıca, Mac'ler biriyle karşılaştıklarında ne yaparlar?


1
Windows'u sembolik bir bağlantıya nasıl maruz bırakmayı planlıyorsunuz? Onları destekleyen dosya sistemlerini anlamıyor (çoğunlukla kullanıcı arayüzünden gizlenmiş sembolik bağlantılardan tamamen farklı olmayan bir şey olan NTFS hariç).
Gilles 'SO- kötü olmayı bırak'

Peki .. Windows bölümünüzü monte ettiyseniz ve içine sembolik bir bağlantı koymaya çalışırsanız ne olur? Bir klasör gibi mi çalışıyor? (Eğer öyleyse, RECURSION ile ne olacağını merak ediyorum ...)
JamesTheAwesomeDude

lütfen bana bu konuda yardım edebilir misin: stackoverflow.com/questions/21403772/…
Goofy

Yanıtlar:


10

Yerel olmayan diskler hakkında konuştuğumuzda Windows sürümüne ve sunucu tarafının yapılandırmasına bağlıdır.

Windows Vista'dan beri, Windows'un sembolik bağlantılar fikri vardır, ancak anlambilim farklıdır. Ancak buradaki en önemli sorun, farklı bir sözdiziminden sonra gelen yol adları olmalıdır. Yeni başlayanlar için: unixoid tarafında tek köklü dizin ağacı ve Windows tarafında kök olarak birkaç sürücü harfi.

Unixoid tarafında semboller sadece özel bayraklı metin dosyalarıdır. Windows tarafında, altta yatan mekanizmaya yeniden ayrılma noktası denir. Bu özel kayıtlı filtreler (bu meta-tarih depolandığı için geçmek için nesne yöneticisini anlatır içinde yeniden ayrıştırma noktaları). Windows 2000, bağlantı noktaları (kabaca ancak tam olarak değil, dizin simgeleri) olarak bilinen bir tür yeniden ayrıştırma noktası eklemiştir. Vista ile uzak dosyalarda da hem dosyalara hem de dizinlere sembolik bağlantıları tanıttılar. Ve sembolik bağlar üzerinde uzaktan sürücüler de bir ölçüde desteklenmektedir.

Ana nokta, dosya sistemi sürücüsünün - yerel olarak çalıştırıldığında - Windows'un göreceği yollarda herhangi bir ayar yapıp yapmayacağıdır. Böyle bir durumda, bazı yerel / bağıl semboller için işe yarayacaktır. Hedefler olarak mutlak yollar için, ne anlama geldiğini çıkarmak zor ve imkansız hale gelecektir. Uzak sembolik bağlantıları için de aynı ("ağ paylaşımlarına").

Mac tarafına gelince, hiçbir fikrim yok ve ayrı bir soru olarak mantıklı olabilir. Ancak sunucu tarafı bunun bir sembolik bağlantı olduğu bilgisini ilettiği sürece, hiçbir sorun görmüyorum, çünkü ikisi de SUS semantiğini takip ediyorlar (Windows'un aksine).


Linux yan montaj noktalarını düşünün:

/dev/sda1 /
/dev/sda2 /home
/dev/sda3 /var

Ve şimdi /home/paul/fstabişaret eden bir sembolik bağlantıyı düşünün /etc/fstab. Windows'un iki farklı birimde bulunurlar - Windows'un bir dosya sistemi sürücüsü aracılığıyla bunları görebiliyorsa (ki bu işe yarar!) - /etc/fstabtarif ettiği şekilde birbirine ait olduğunu söyleyemez . Dolayısıyla, Windows'un bir klasör altında göreceği bağlantı, çevrilse \paul\fstabbile işaret eder \etc\fstab, ki bu mevcut değildir /dev/sda2. Ve bu sembolik bağıl yolu gösteriyorsa ../../etc/fstabişler hiç değişmez.


Öz: Bu, bazı köşe vakaları için işe yarayabileceğiniz düşünülebilir olsa da, çitin her iki tarafında semantik ve sözdiziminin farklı olması, pratik ve genel bir yöntem bulmanızı pek mümkün kılmaz.


2
Vay canına, bu çok ayrıntılı ve kapsamlı bir cevaptı! Tüm bu bilgileri sağladığınız için teşekkür ederiz! Aslında Linux'un sembol bağlantılarının metin tabanlı olduğu konusunda hiçbir fikrim yoktu. Buradaki tüm yararlı bilgiler için tekrar teşekkür ederiz.
JamesTheAwesomeDude

lütfen bana bu konuda yardım edebilir misin: stackoverflow.com/questions/21403772/…
Goofy

Sanırım XP'de bir sym-link yaptım, ilk vista olduğundan emin misiniz?
ctrl-alt-delor

ntfsbağlama noktalarını destekler (tüm bu harfleri beğenmediyseniz).
ctrl-alt-delor

@richard: Aslında hacminde bağlama noktaları vardır sen Win32 alt sürücü harfleri olarak gördükleri için teknik terim. Bununla birlikte, mevcut bir klasörde (birleşme noktalarına çok benzer) bir birim bağlama noktasının da ayarlanabileceği konusunda haklısınız. Hacim bağlama noktaları, bağlantı noktaları ve sembolik bağlantılar uygulamak için kullanılan teknik özelliğe yeniden noktalama noktaları denir . Ve evet, Vista ilk sembolik bağlantı desteğine sahipti. XP'de bunu sadece yukarıdaki gibi farklı semantiğe sahip başka bir alt sistemde (örneğin POSIX) yapmış olabilirsiniz.
0xC0000022L

2

0xC0000022L'nin cevabı, şeylerin Windows tarafı için ayrıntılı. Mac Linux'un sembollerini tanıyabilir; ancak Linux Mac'in Finder'ında yapılan takma adları tanıyamaz (ln -s kullanılarak oluşturulan semboller sorunsuz çalışır).


takma adlar gibi sesler , Windows ( .lnkdosyalar) üzerindeki kısayolların OSX karşılığıdır .
0xC0000022L
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.