MKLINK vs. Junction.exe


27

SysInternals , Windows'ta Junction (aka. Reparse point , aka symlinks) oluşturan bir program junction.exe dosyasına sahiptir .

Ancak, Windows aynı şeyi yapan bir mklink ile birlikte gelir .

Önemli bir fark var mı?

SysInternals'ın kendi programı varsa, standart MKLink programında bir eksiklik gördüklerine inanıyorum.


5
Junctionbağlantılı sayfaya göre Eylül 2010'da yayınlandı. Aynı şekilde, bağlantılı sayfa MKLINKNisan 2012'de yayınlanma tarihine sahiptir Junction. mklinkYürütülebilir dosyanın Windows'a eklenmeden önce oluşturulduğunu açıkça gösterecektir . (Her biri orjinal olarak ortaya çıktığında daha fazla inceleme yapmadım, bu yüzden tam bir cevap yerine bir yorum yapın. Eğer biri bu konuda genişlemek ve uygun bir cevap oluşturmak istiyorsa,
konuğum olun

Hata! Onu özledim. Kavşak mklink öncesi tarihler görünmektedir. Teşekkürler.
abelenky

Yanıtlar:


41

karşılaştırma

Mark Russinovich'in junctionprogramı, belirli bir amaç göz önünde bulundurularak tasarlanmıştır: birleşme noktaları oluşturma (ve silme). Yıllar boyunca sürdürüldü, ancak şimdiye kadar yeni özellikler eklenmedi. En son sürüm 4 Temmuz 2016 tarihinde yayınlandı.

Gelince mklink, bu yerleşik bir komut Windows Vista ve daha sonra kullanılabilir. Sert bağlantılar, birleşme noktaları ve sembolik bağlantılar oluşturabilir. Belirli bir silme işlevi sağlanmamış; Bağlantının sırasıyla bir dosyayı veya dizini gösterip göstermediğine bağlı olarak, basitçe delveya rdkomutlarını kullanabilirsiniz .


Biraz tarih

Vista'dan önce, Windows işletim sistemleri kutudan birleşme noktaları oluşturmanın bir yolunu sunmadı: ya resmi Resource Kit'in bir kopyasını almak , üçüncü taraf bir program kullanmak ya da kendiniz yazmak zorunda kaldınız.

2000

Aracın ilk sürümü junctionyayınlandı. Resmi web sitesinden alıntı:

Windows 2000 ve üstü, bir dizinin bilgisayardaki başka bir dizine sembolik bir bağlantı görevi gördüğü dizin sembolik bağlarını destekler. [...]

Maalesef, Windows kavşak oluşturmak için hiçbir araç içermez - kavşak oluşturmak için linkdprogramla birlikte gelen Win2K Kaynak Kitini satın almanız gerekir . Bu yüzden kendi bağlantı oluşturma aracımı yazmaya karar verdim: Junction .

Kaynak: Kavşak

2005-06

mklinkKomut erken beta aşamasında Windows Vista ile tanıtıldı.

Resmi Beta 1, 27 Temmuz 2005’te gönderildiğinden beri kullanılabiliyordu. Başlangıçta yalnızca sembolik linkler ve hard linkler oluşturabiliyordu; kavşak noktaları yaratma yeteneği daha sonra 19 Aralık 2005'te yayınlanan Topluluk Teknoloji Önizlemesi (CTP) ile geldi.

Görünüşe göre komut, 2006’da ilk defa açıklandığı zamana kadar bir süre sonra tamamen fark edilmedi. İşte bulabildiğim en eski referans:

Şimdi Windows Vista'da sembolik bağlantı oluşturabilirsiniz.

C:\test>ver

Microsoft Windows [Version 6.0.5365]

C:\test>mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

[...]

Kaynak: Windows Vista'da sembolik bağlantı

Ayrıca:

Malcolm [MSFT] (Uzman):
Soru: Bir bağlantı yapmanın gerçekten kolay bir yolu var mı?
A: CMD'yi açın ve 'mklink' yazın. Bu araç size kavşaklar, bağlantılar ve sembolik bağlantılar oluşturmanıza olanak sağlar.

Kaynak: NTFS Beta Sohbet Metni (12 Temmuz 2006)


Ek bilgi

Bir dosya veya dizin, kullanıcı tanımlı bir veri koleksiyonu olan bir yeniden inceleme noktası içerebilir. Bu verinin formatı, verileri depolayan uygulama ve verileri yorumlamak ve dosyayı işlemek için yüklediğiniz bir dosya sistemi filtresi tarafından anlaşılır.

Örneğin, yeniden değerlendirme noktaları, NTFS dosya sistemi bağlantılarını ve Microsoft Remote Storage Server'ı (RSS) uygulamak için kullanılır.

Kaynak: Reparse Points

NTFS dosya sisteminde desteklenen üç tür dosya bağlantısı vardır: sabit bağlantılar, kavşaklar ve sembolik bağlantılar.

Kaynak: Sabit Bağlantılar ve Kavşaklar

Sert bağlantılar

Sabit bağlantı, birden fazla yolun aynı birimdeki tek bir dosyaya başvurduğu bir dosyanın dosya sistemi gösterimidir. [...] Bu dosyada yapılan herhangi bir değişiklik, ona referans veren bağlantıların üzerinden erişen uygulamalarda anında görülebilir. Ancak, dizin giriş büyüklüğü ve özellik bilgileri yalnızca değişikliğin yapıldığı bağlantı için güncellenir.

Kaynak: Sabit Bağlantılar ve Kavşaklar

Junctions

Bir bağlantı (yumuşak bağlantı olarak da bilinir), başvurduğu depolama nesnelerinin ayrı dizinler olması ve bağlantı, aynı bilgisayardaki farklı yerel birimlerde bulunan dizinleri bağlayabilmesi nedeniyle sert bir bağlantıdan farklıdır.

Kaynak: Sabit Bağlantılar ve Kavşaklar

Birleşim noktaları yalnızca yerel bir birimdeki dizinlere bağlanabilir; Uzak paylaşımlara bağlantı noktaları desteklenmez.

Kaynak: NTFS birleşme noktası

Sembolik bağlantılar

Sembolik bir bağlantı, başka bir dosya sistemi nesnesine işaret eden bir dosya sistemi nesnesidir. İşaret edilen nesneye hedef denir.

Sembolik bağlantılar kullanıcılar için şeffaftır; linkler normal dosyalar veya dizinler gibi görünür ve kullanıcı veya uygulama tarafından aynı şekilde davranılabilir.

Kaynak: Sembolik Bağlantılar

[Sembolik bağlantılar], Windows Vista ile NTFS dosya sisteminde yapılan değişikliklerle tanıtıldı , ancak Windows XP için filtre sürücüleri tarafından kullanıldı .

NTFS birleşim noktasının aksine (Windows 2000'den beri kullanılabilir), sembolik bir bağlantı bir dosyaya veya uzak SMB ağ yoluna da işaret edebilir . NTFS birleşim noktaları, yerel sürücülerdeki yalnızca mutlak yolları desteklerken, NTFS sembolik bağları göreceli yolları kullanarak bağlanmaya izin verir.

Windows Vista / Windows 7'deki varsayılan güvenlik ayarları, yükseltilmemiş yöneticilerin ve tüm yönetici olmayanların sembolik bağlar oluşturmasına izin vermez.

Kaynak: NTFS sembolik bağlantısı

daha fazla okuma


Benimkinden çok daha ayrıntılı bir cevap verecekseniz, NTFS Reparse Points'in başka bir lezzet olduğunu söyleyebilirsiniz .
paradroid

(Hard
Links'e

Saf kalite cevabı.
sshow

2
Not: "Dosya" sembolik linkleri ( mklinkhedef türünden bağımsız olarak düz ) yapılır ve "dizin" sembolik linkleri (tarafından yapılır mklink /d) vardır. Hedef için doğru bağlantı türünü oluşturmak en iyisidir.
kbolino

Neden junction.exe 2016 yılında güncellenmiştir ve neden SysInternals ile gönderilmeye devam ediyorlar? Onlar depektasyona karşı mı? Bir düşünün, evet onlar ... Muhtemelen bu araçların yarısı Windows'ta yeterli değişime sahip. Mükemmel detaylı cevap.
Adam Plocher

2

Yorumlarda da belirtildiği gibi junction.exe, bu mklinkkomutla gelen Vista / Winserver 2008'den önce çıktı .

Bu nedenle onu Vista'da kullanmanın hiçbir anlamı yoktur. Vista'dan daha eski Windows sürümleri artık desteklenmiyor.

Ayrıca, Vista / WinServer 2008 ve komutuyla tanıtılan NTFS Sembolik Bağlantılarını (sadece NTFS Bağlantıları ) junction.exedesteklememektedir .mlink

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.