Başlık her şeyi söylüyor ... fark nedir? Bir tanesini ne zaman, diğerini ne zaman kullanırım?
Eklendi: Not Kavşak noktaları , Sabit bağlantılar ve Sembolik (yumuşak) bağlantıları NTFS üç ayrı şeyler vardır.
Başlık her şeyi söylüyor ... fark nedir? Bir tanesini ne zaman, diğerini ne zaman kullanırım?
Eklendi: Not Kavşak noktaları , Sabit bağlantılar ve Sembolik (yumuşak) bağlantıları NTFS üç ayrı şeyler vardır.
Yanıtlar:
NTFS veri dosyaları, tüm özniteliklerinde bir kimliğe sahip bir "inode" olarak depolanır ve dosya adları inode'u gösterir. Tüm dosyalar bir + hardlinke sahiptir. Bazı araçlar, aynı inode'yu gösteren ve ona işaret eden adların sayısının olduğu bir ad ekleyebilir (hardlinks). Sayı sıfıra giderse, işletim sistemi dosyayı, inode'u siler.
LN gibi özel araçlar, kendilerini işaret eden bir dosya adı kullanarak varolan düğümlere işaret eden ek dosya adları oluşturabilir. Tarihler ve saatler dahil olmak üzere tüm dosya özniteliklerinin dosya adı yerine inode ile saklandığını unutmayın.
(Ekstra) bağlantılar, farklı adların aynı verileri göstermesini, okunmasını veya yazılmasını istediğinizde kullanışlıdır. Yerden ve ek yükten tasarruf ederler. Bununla birlikte, farklı isimler varsayan programları farklı verilere işaret ediyorlar. Örneğin, kopyalanan dosyalara yapılan referansları tek bir dosyaya sabit bağlantılar ile değiştirirseniz, sahip olduğunuz tüm yedeklemeleri kaldırmış olursunuz! Windows işletim sistemi, farklı isimlerin farklı bit kümelerine işaret ettiğini varsayan bir programdır.
Hardlinks aynı fiziksel ve mantıksal birimde olması gerekir.
Onlar için yararlıdır:
Windows yalnızca 256 karakteri desteklediğinden dolayı yol uzunluklarını azaltmak.
yinelenen veri dosyalarının depolama alanını azaltma - örneğin, birden çok tam dizin ağacı bulunan bir bölümün birden fazla yedeğini alabilir, ancak önceki yedeklemeden bu yana değişmemiş dosyalar için sabit bağlantılar oluşturabilirsiniz.
Kavşak noktaları daha dağınıktır ve Reparse Points (anlamadığım) kullanır. Farklı fiziksel veya mantıksal hacimlere işaret edebilirler ancak aynı bilgisayarda olmaları gerekir. Görünüşe göre, dizinler için sembolik bağlantılar gibi kullanılabilirler, aynı varış yeri için ikinci bir isme izin verirler, ancak sadece bir cilt yerine tek bir bilgisayarla sınırlıdırlar.
Yol uzunluklarını azaltmak veya sabit kodlanmış dizin adlarına sahip birkaç programla çalışmayı basitleştirmek için kullanışlıdır.
Aynı uyarılar! Birçok program farklı adlar varsayar = farklı dosyalar.
Ve sonra sembolik bağlantılar (ağlar arasında gidebilir), kısayollar ve PIF'ler var ve…
Ayrıca Microsoft'tan bazı bilgiler :
Temel olarak, yalnızca aynı birimdeki dosyalar (disk sürücü harfi) için sabit bağlantılar ve yalnızca aynı bilgisayardaki dizinler için bağlantı noktaları (farklı yerel birimlere yayılabilir) diyorlar.
Sembolik bağlantı: Aynı veya farklı birimdeki bir dosyaya veya dizine (sürücü harfiyle) veya uzak bir dosyaya veya dizine (yolunda UNC kullanarak) bağlantı.
Sabit Bağlantı: Yalnızca aynı birimdeki (sürücü harfi) bir dosyaya bağlantı. Her dosyanın (dosyanın verileri) en az 1 adet sabit linki vardır (dosyanın adı). Tüm sabit bağlantıları silmek, dosyayı etkili bir şekilde siler.
Kavşak: Aynı veya farklı birimdeki (sürücü harfi) bir dizine bağlantı, ancak uzak bir dizin için değil
Windows Vista / 7'de NTFS birimlerinde çalıştığınızı varsayarak, üç tür Bağlantıyı da oluşturmak için komut satırı aracını MKLINK
kullanabilirsiniz:
MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link specifies the new symbolic link name. Target specifies the path (relative or absolute) that the new link refers to.
Sembolik linkler : Sembolik link, başka bir dosya sistemi nesnesine işaret eden bir dosya sistemi nesnesidir (örneğin: dosya / dizin).
MKLINK
sembolik bağlantılar oluşturmak için kullanılabilir. /D
Parametrenin kullanılması bir dizin sembolik bağı oluşturur. MKLINK, hedefin bir dosya veya dizin olup olmadığını veya hedefin var olup olmadığını kontrol etmez! Bu, potansiyel olarak bir dosyaya sembolik bağlanan bir dizin dizini veya mevcut olmayan bir dosyaya / dizine ilişkin sembolik bağlar gibi geçersiz bağlantılar oluşturabileceğiniz anlamına gelir.
Sembolik linkler mutlak veya göreceli linkler olabilir. Mutlak bağlantılar, yol adının her bir bölümünü belirten bağlantılardır; göreli bağlantılar, göreli bağlantı belirticilerin belirli bir yoldaki olduğu yere göre belirlenir.
Mutlak sembolik bağlantılar, UNC yolunu kullanan uzak bir dosya veya dizinin yanı sıra aynı veya farklı birimdeki dosyalara / dizinlere işaret edebilir. Bununla birlikte, göreceli sembolik linkler tek bir cilt ile sınırlıdır.
Sembolik bir bağlantı oluşturmak için yükseltilmiş ayrıcalıklar gereklidir, ancak bir kez oluşturulduktan sonra, bağlantıyı silmek için yükseltilmiş ayrıcalıklara gerek yoktur.
Sabit bağlantılar : Sabit bağlantı, birden fazla yolun tek bir dosyaya başvurduğu bir dosyanın dosya sistemi gösterimidir.
MKLINK
/H
sadece dosyaların (dizinlerin değil) sabit linklerinin oluşturulmasına izin verir ( parametre kullanılarak ). Sabit bir bağlantı yalnızca aynı birimdeki bir dosyada oluşturulabilir.
Birden fazla sabit bağlantı içeren bir dosya yalnızca tüm sabit bağlantılar silindiğinde, yani bağlantı sayısı sıfıra ulaştığında silinir. Dolayısıyla, yarattığınız her dosyanın kullanmanız MKLINK
veya kullanmamanız için en az bir zor bağlantısı var .
Bu dosyadaki herhangi bir değişiklik, kendisine referans veren bağlantıların üzerinden erişen uygulamalarda anında görülebilir. Bununla birlikte, dizin giriş büyüklüğü ve özellik bilgileri yalnızca değişikliğin yapıldığı bağlantı için güncellenir.
Dosyadaki özniteliklerin, o dosyaya yapılan her bağlantıya yansıdığını ve o dosyanın özniteliklerinde yapılan değişikliklerin tüm sabit bağlantılara yayıldığını unutmayın. Örneğin, belirli bir sabit bağlantıyı silmek için bir salt bağlantıdaki salt okunur özniteliğini ayarladıysanız ve gerçek dosyaya birden çok sabit bağlantı varsa, o zaman dosyadaki salt okunur özniteliği yeniden ayarlamanız gerekir. Kalan sabit bağlantılardan birinden dosyayı ve kalan tüm sabit bağlantıları salt okunur duruma getirin.
Bağlantılar : Bağlantı (yumuşak bağlantı da denir), başvurduğu depolama nesnelerinin ayrı dizinler olması ve bağlantıların aynı bilgisayardaki farklı yerel birimlerde bulunan dizinleri bağlaması nedeniyle sert bir bağlantıdan farklıdır. Aksi takdirde, kavşaklar sabit bağlantılarla aynı şekilde çalışır. Kavşaklar yeniden satış noktalarından uygulanır.
MKLINK
/J
Bir dizinin (ve bunun muhtemelen geçersiz bir bağlantı olarak kabul edilmesi gerekmesine rağmen, dosyaların bile) birleşimini ( parametresini kullanarak ) oluşturmaya izin verir .
Bir kavşak, bir dizine sembolik bir bağlantı için eşdeğer sabit bağlantı olarak düşünülebilir. Bir birleşim bağlantısı uzak bir dizine oluşturulamaz, aynı / farklı birimdeki bir dizine oluşturulabilir.
Referanslar:
[1] Sabit Bağlantılar ve Bağlantılar: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006%28v=vs.85%29.aspx
[2] Sembolik Bağlantıların Oluşturulması: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363878%28v=vs.85%29.aspx
Sabit bağlantı, bir dosya için başka bir addır. A.txt adlı bir dosyanız varsa ve L.txt bağlantınız varsa, A.txt dosyasını sildikten sonra, yine de L.txt üzerinden onun verilerine erişebilirsiniz. Sadece ikisi de silindiğinde dosya gitmiş demektir.
Öte yandan, soft-link (klasör ise kavşak veya dosya ise sembolik link) denir. Bu durumda, A.txt dosyasını sildiğinizde, dosya gerçekten kaybolur. L.txt dosyasının silinmesinin dosya üzerinde hiçbir etkisi yoktur.
Sabit bağlantılar yalnızca kaynak dosyayla aynı bölümde kullanılabilir ve yumuşak bağlantılar bölümler boyunca kullanılabilir.
PS Dosya ve klasör, NTFS'in gittiği yere kadar çoğunlukla birbirinin yerine geçebilir.
Sabit bağlantı: yalnızca aynı cilt için çalışır.
Kavşak: herhangi bir yerel cilt
Sembolik: yerel cilt veya UNC yolu
| Link Type | Same Volume | Different Volume | UNC Path |
|---------------|-------------|------------------|----------|
| Hard link | Yes | No | No |
| Junction | Yes | Yes | No |
| Symbolic link | Yes | Yes | Yes |
Bonus Sohbetçisi
Windows, AppCompat amaçları için kavşaklar ve sembolik bağlantılar oluşturur; düşünen kötü yazılmış uygulamalar için:
geçerli.
C:\Users>dir /as
Directory of C:\Users
04/11/2018 07:45 PM <SYMLINKD> All Users [C:\ProgramData]
04/11/2018 07:45 PM <JUNCTION> Default User [C:\Users\Default]
Aynı durum, kullanıcının profil klasöründe, Windows XP çağındaki klasörlerin bugün hala varolmasını bekleyen uygulamalar için geçerlidir:
| Folder | Type | Target |
|------------------|------------|------------------------------------------------------------------| | Application Data | <JUNCTION> | C:\Users\Ian\AppData\Roaming |
| Cookies | <JUNCTION> | C:\Users\Ian\AppData\Local\Microsoft\Windows\INetCookies |
| Local Settings | <JUNCTION> | C:\Users\Ian\AppData\Local |
| My Documents | <JUNCTION> | C:\Users\Ian\Documents |
| NetHood | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\Network Shortcuts |
| PrintHood | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\Printer Shortcuts |
| Recent | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\Recent |
| SendTo | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\SendTo |
| Start Menu | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\Start Menu |
| Templates | <JUNCTION> | C:\Users\Ian\AppData\Roaming\Microsoft\Windows\Templates |
Programlı cevaplamak için:
Sabit bağlantı: shared_ptr <>. Her zaman bir tane var.
Yumuşak bağlantı: zayıf_ptr <>. Sadece başka bir sabit link bulunduğunda geçerlidir.