C: sürücümüzün kökünde büyük bir dosya oluşturalım.
fsutil file createnew buyuk-dosya.txt (5GB)
Şimdi de profil klasörümüze gelip bu dosyaya bir sembolik link oluşturalım. mklink komutu ile ve Powershell ile bunu aşağıdaki gibi yapabiliriz.
mklink sembolik-link.txt C:\buyuk-dosya.txt
New-Item -ItemType SymbolicLink -Name sembolik-link.txt -Target C:\buyuk-dosya.txt
Sembolik link yaratılacak nesne bir dosya değil de bir klasör olsaydı
mklink /D sembolik-klasor C:\hedefklasor
New-Item -ItemType SymbolicLink -Name sembolik-klasor -Target C:\hedefklasor
Bir dosyaya hard link oluşturmak için ise
mklink /H sembolik-link2.txt C:\buyuk-dosya.txt
New-Item -ItemType HardLink -Name sembolik-dosya2.txt -Target C:\buyuk-dosya.txt
Hedefimiz bir klasör olsaydı hardlink yerine junction kullanmamız gerekecekti.
mklink /J junction-klasor C:\hedefklasor
New-Item -ItemType Junction -Name junction-klasor -Target C:\hedefklasor
Sembolik link durumunda orijinal dosyayı sildiğimizde sembolik link öksüz kalır, veriler gitmiş olur. Hardlink durumunda ise orijinal dosya silinse bile veriler silinmez, hardlink aracılığıyla erişilebilir.
Peki bu yöntemlerin herhangi biriyle oluşturulan linkler diskte ayrıca her kaplar mı? Cevap hayır. Gerek Sembolik gerekse hardlink diskte orijinal dosyadan başka yer kaplamaz. Linkler üzerinden dosya içeriği değiştiği zaman hardlink'lerin LastWriteTime özniteliği değişir, ama symbolik link'in değişmez.
Bu işlemlerin hepsi için yönetici yetkileri gerekir.
Ama aşağıdaki gibi var olan dosyaların özelliklerini sorgulamak için yönetici yetkileri gerekmez.
dir | select Name, LinkType, Target, Attributes
Hiç yorum yok:
Yorum Gönder