Neden Windows'un sonraki sürümleri sembolik bağlantılar yerine kısayol dosyalarını kullanmaya devam ediyor?


68

Windows XP ve sonraki sürümleri sembolik bağları destekler. Ancak, Windows kısayol dosyalarını kullanmaya devam eder (esas olarak bağlı dosyanın konumunu metin olarak saklar). Neden?


25
Neden Windows'un yeni sürümleri (ve Office) UTF-8 yerine metin dosyalarını ANSI biçiminde kaydediyor? Ya ... uyumsuzluğu ve unreasonability işlemek için veya mevcut sistemlerin destekleyecek
retrography

9
Windows XP ve sonraki sürümleri, belirli dosya sistemlerinde sembolik olanı destekler. Sembolik bağlantılar, sabit diskinizdeki bir NTFS dosya sisteminde çalışır, ancak normal bir FAT 32 formatlı USB belleğe veya UDF formatlı bir CD-ROM'a kopyalandıysa çalışmaz ve bir ağ sunucusuna kopyalandığında çalışmayabilir (sizin gibi) genellikle uzak sunucu tarafından kullanılan işletim sistemi veya dosya sistemini bilmezsiniz). LNK kısayol dosyaları mutlu bir şekilde kopyalanabilir ve tümünde çalışır.
GAThrawn

12
Windows .lnkdosyaları Linux .desktopdosyalarına benzerlerine göre daha benzer .
Arturo Torres Sánchez

3
Symlinks zor güvenlik bilge (karıştı yardımcısı sorunu) vardır
CodesInChaos

2
Peki, NTFS geldiğinde tarayıcınızda yer imlerini kullanmayı bıraktınız mı? Saçma bir karşılaştırma gibi gelebilir, ancak yalnızca kısayolların dosyalara işaret etmekten başka bir şey olmadığını düşünüyorsanız - durum böyle değil.
Luaan

Yanıtlar:


106

Bir takım sebepler sanırım

  1. Dosya sisteminden ziyade kabuk tarafından yorumlandıkları gibi farklı EXE kısayollarına karşı farklı uyumluluk düzeylerini aynı EXE'de depolayabilirsiniz.
  2. Bazı kısayol bağlantıları aslında dosya sisteminde mevcut değildir. Bazıları sadece GUID'lere referanslar veya kabuk tarafından yorumlanan özel dizelerdir.
  3. Bir sembolik bağlantıya anahtarları dahil edemezsiniz. Tabii ki EXE'ye işaret edebilirsin, ancak bu EXE'e başka tartışmalar söyleyemezsin.
  4. Bir sembolik bağlantı için bir simge seçemezsiniz.
  5. Bir sembolik bağlantıda hangi dizinin çalışacağını seçemezsiniz.
  6. Kısayol dosyalarının yalnızca dosyaları işaret etmesi gerekmez, köprüler veya protokol bağlantıları olabilir (.URL dosyası durumunda).
  7. LNK dosyaları herhangi bir dosya sisteminde bulunabilir. Symlinks, Windows, NTFS durumunda, dosya sistemi tarafından işlenir.
  8. Bunları değiştirmek için gerçek bir ihtiyaç yok. Çalışırlar, küçülürler, gelecekte yukarıda listelenenlerden daha fazla işlevselliğe ihtiyaç duyulursa, gelecekte ölçeklendirilebilirler.
  9. Bir sembolik bağlantı oluşturmak için idari haklar gerekmektedir (İyi bir nedenden dolayı - aksi takdirde masum dosyaların kötü niyetli dosyalara yönlendirilmesi çok az işle yapılabilir)

Bundan daha fazla sebep olacak, ama bence başlamanız için yeterliydi :) - Buradaki @grawity tarafından sağlanan ve bu konunun bazı kısımları hakkında biraz daha okuma yapacak bir bağlantı var .


2
Ek olarak, dosya kısayolları, hedef hakkındaki belirli meta verileri önbelleğe alır ve kabuk düzeyinde yorumlanması , hedef taşındığında, kısayolların kabuklarla güncellenmesini sağlar ; bu da semboliklerle daha zor olacaktır. Genel olarak, kısayol özellikleri ile ilgili çeşitli ilginç şeyler için tekrar Eski Yeni Şey bölümüne bakın .
Grawity

5
@grawity Bunları dosya sistemi tarafından ele alınmasına kaydırmanın herhangi bir yararı olur mu? .Lnk dosyalarının gerektiğinde daha fazla işlevsellik sağlayacak şekilde genişletmek için sonsuz bir odaya sahip olacaklarını düşünürdüm. Bunu dosya sistemine taşımak, belki biraz fazla yapılandırılmış olur? Yine de, hiçbir şekilde dosya sistemlerinin iç işleyişinde uzman değilim.
Jonno

3
Doğru, FS'nin kendisi bu bilgilerin çoğunu kullanmayacaktı - birçok .lnk özelliği gerçekten Explorer'a özgüdür, bu nedenle her şeyi bir dosya yerine yeniden inceleme noktası olarak saklamak fazladan bir fark olacaktır.
Grawity

3
Sadece işaret etmek istedim, LNK dosyaları bildiğim kadarıyla URL'leri (köprüler) hedeflemek için kullanılamaz. Bir URL'ye kısayol oluşturmak için Windows'ta aynı kısayol oluşturma özelliğini kullanabilirsiniz, ancak sonuç bir .URL dosyasıdır (bu, düz metin, esasen bir INI dosyasıdır), bir .LNK dosyası değildir (ikilidir).
Michael Becker

3
Veya start http://superuser.comhangi varsayılan tarayıcıyı seçerse, bir URL’ye yapılan gerçek bir kısayol gibi yapar. Bununla birlikte, .LNK dosyalarının URL'leri gösterdiğini söyleyebilirsiniz . Sonunda, "seri hale getirilmiş COM monikerleri" dir ve COM sistemi yeni moniker tipleriyle genişletilebilir.
MSalters

6

Bir bağlantı, çok az miktarda dosya sistemi sihriyle kaplanmış bir yoldan başka bir şey değildir. Geçersiz hale gelmesinin ("kırılmış"), çoğu yeniden adlandırılmakta olan bir veya daha fazla dosya veya dizini içeren birçok yolu vardır. Windows tüketici yazılımı olduğundan, "tipik" bir kurulumda çalışan çok sayıda çok kötü tasarlanmış programınız olabilir. Sonuç olarak, bu tür bir kırılmayı önlemek için (teoride) diske dokunan her programın bilinen bir miktar olduğu bir sunucuya kıyasla kaçınmak çok daha zordur.

Kısayollar çoğu kırılma şekline karşı bağışıklık kazanır, çünkü hedeflerini yoldan bağımsız olarak takip ederler. Bu onları daha kullanıcı dostu yapar. Tüketiciler için özel olarak tasarlandılar, "sadece demek istediğimi yap ve beni ayrıntılardan zahmet etme" yaklaşımıyla.

Şimdi, bunun için sert linkleri kullanabilirsiniz (bir dereceye kadar), ancak hard linklerin tüketici kullanımı için uygun olmayan çeşitli karmaşık özellikleri vardır. Özellikle, dosyalar yeni inode numaralarını tamamen çok kolay bir şekilde alır ve bazı yedekleme yazılımları, zor bağlantılarla karşılaştığında oldukça şaşırtıcı şekilde kırılır. İlki (belki de) dosya sistemi tünelleme ile çözülebilir (aslında kısayollar ilişkili bir sorunu nasıl çözüyorlar), fakat ikincisi çok daha zor bir problem.

(Muhtemelen, ayrıca, "tünelleme ile sert bağlantıları" çözmenin kesinlikle önemsiz olduğunu da unutmamalı, çünkü bu sadece "kaybedilen" meta verileri yeniden toplama meselesi değildir. ya da onları adil bir parça ayak izi olmadan gerçekleştirdikten sonra yeniden atayın. Kısayollar, yaratılma zamanı gibi kolayca tünellenebilecek başka meta veriler kullandığından, bu sorun olmaz.)

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.