Sembolik / yumuşak bağlantı, masaüstündeki kısayola / diğer ada benzer mi?


19

Bana kısayollarla (PC'de) veya takma adlarla (Mac'te) karşılaştırıldığında yumuşak / sembolik bağlantılar temel fikri gibi geliyor. Ben gidiyorum? Benzer mi?

Yanıtlar:


14

Temel fikir hemen hemen aynıdır. Sembolik bağlantı, başka bir dosya sistemi nesnesinin yolunu (göreceli veya mutlak) içeren özel bir dosyadır. UNIX / Linux'ta işletim sisteminin kendisi sembolik bağlantıyı işleyerek gerçek nesneye şeffaf bir şekilde çözüm getirir.

Mac'lerde, bir takma ad, uzak nesnelere ve yerel nesnelere başvurabilen özel bir Finder yapısı gibi görünür, ancak Finder işletim sistemini değil referansı çözer. MacOS X'in sembolik bağlantıları da vardır, ancak takma adlardan ayrıdırlar.

En büyük fark bir Windows kısayolu ile sembolik bir bağlantı arasındadır. Windows kısayolu bir programı kolayca değiştiremez, çünkü Windows her zaman bu sinir bozucu dosya uzantılarına sahip olmak zorundadır ve "lnk" dosyası Windows söz konusu olduğunda yürütülebilir bir dosya değildir . GUI içinde çalışır, ancak sunucu açısından barf eder. Bir dizinle aynı. Yararlıdırlar, ancak sembolik bir bağlantının gücüne ve esnekliğine yakın bir yere sahip değildirler.


"Bir dizin ile aynı": Yani bir dizine işaret eden bir sembolik cd'de olamaz?
dash17291

2
Bu, bir Windows sistemindeki bir kısayola cd değil, çünkü DOS değil, Windows yapısıdır. UNIX / Linux ile, bir dosya sistemi yapısıdır, bu nedenle cdkomut da dahil olmak üzere her yerde çalışır - işletim sistemini değil, bitiş noktasını yorumlamak komuta bağlıdır. Örneğin, cdbir dizine bir sembolik bağ kullanabilir, ancak normal bir dosyaya bir sembolik bağ üzerinde düzgün şekilde başarısız olur.
Arcege

7

Pek sayılmaz. Bir benzerlik var, ama sadece bir noktaya kadar. İnsanları “tamam, semboller kısayol gibidir, ama onları tam olarak anlamıyorum” diye düşündüklerini “ah, aslında semboller kısayollar gibi değil, şimdi anlıyorum” dedikleri ana kadar. Bu yüzden kısayolların sembolik bağlantıları anlamak için iyi bir yol olmadığını düşünüyorum ve kısayollarla karşılaştırma fikrinizi temizlemenizi tavsiye ederim.

Sembolik bağlantı başka bir dosyanın adını gösterir. Bu, tam yoldaki gibi "ad" dır, yani potansiyel olarak bir dizin kısmı ve dizinin içindeki ad dahil. Yol mutlak ( /foo/bar) veya göreli ( foo/barya ../barda sadece bar) olabilir; hedef göreli bir yolla verilirse, sembolik bağlantıyı içeren dizine göre yorumlanır. Hedef dosya olabilir veya olmayabilir ve hedef dosyayı kaldırmak, taşımak veya oluşturmak sembolik bağlantıyı etkilemez.

Dosyanın içeriği üzerinde işlem yapan hedef dosya üzerinde işlem yapar. Dolayısıyla, bir dosyayı sembolik bir bağlantı üzerinden okuyup yazdığınızda veya sembolik bir bağlantı aracılığıyla bir program yürüttüğünüzde, sanki hedef dosyaya erişiyormuşsunuzdur. Dosyayı yeniden adlandırma veya silme gibi dışarıdan hareket eden işlemler, sembolik bağlantının kendisine etki eder. Yazmak için, varolan dosyanın üzerine yazmanız (hedefe göre hareket edecek) veya mevcut dosyayı kaldırmanız ve yeni bir dosya (hedefin bozulmadan bırakılması ve sembolik bağlantının yerini alacak yeni bir dosya oluşturulması) fark yaratacağını unutmayın. uygulama bağlantıyı izlemeye özen gösterir (birçok yapmak).


1
Sembolik bir bağlantı her zaman tam bir yol oluşturmaz: Slackware 13.1 sistemimde /usr/lib/libXv.so libXv.so.1.0.0'a sembolik bir bağlantıdır. Orada tam yol yok.
Bruce Ediger
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.