Takma ad ile link arasındaki fark nedir?


Yanıtlar:


26

Bir takma ad iki bilgi içerir: bağlandığı dosyanın benzersiz bir tanıtıcısı ve bağlandığı dosyanın yolu ve dosya adı.

Bir dosyayı yeniden adlandırır veya taşırsanız, dosyanın başlangıçta sahip olduğu yolu ve dosya adını içeren yeni bir dosya oluşturursanız, orijinal dosyaya bağlanan diğer adlar şimdi yeni dosyaya bağlanır.

Bununla birlikte, bir dosyayı değiştirmeden yeniden adlandırır veya taşır ve sonra bir takma ad çağırırsanız, takma ad, bunu yapmak için benzersiz tanımlayıcıyı kullanarak yeni yolu ve dosya adını gösterecek şekilde güncelleştirilir.

Öte yandan, sembolik bir bağlantı bir dosya için benzersiz bir tanımlayıcı içermez ve dosya yeniden adlandırılırsa veya taşınırsa ve aynı yol ve dosya adındaki bir dosyayla değiştirilmezse kırılmış olarak görünür.

Seçiminiz hangi senaryonun size en uygun olduğuna bağlı olmalıdır.


11
Diğer bir fark, komut satırı araçlarının (yani Posix dosya API'lerini kullanan herhangi bir şey) takma adları anlamadığıdır, sadece sembolik bağlantılar. Her ikisi de GUI uygulamaları için çalışacaktır.
Gordon Davisson

Bu yayında yayınladığımda ( apple.stackexchange.com/questions/2992/… ), otomatikleştirici işleminin bağlantıyla değil, diğer adlarla çalıştığını öğrendim.
Prosseek

@sentinal, hard linklerin ne olduğunu da eklemelisiniz
user151019

1
Özellikle, Spotlight bir sembolik bağlantı indekslemiyor. Bu indeks bir takma ad olacak (en olsa daha düşük rütbeli.)
ocodo

2

Nöbetçi tarafından verilen cevapta kafam çok karıştı create a new file with the path and filename that the file originally had. Ayrıca ani oldu, neden bunu yapmak istiyorsun?

Peki, takma adın UID'yi ve dosya yolunu kullanarak neden ve nasıl çalıştığını anlarsanız (sembolik bağlantı yalnızca yol üzerinde çalışırken), farkı ve çok oylanan cevabı daha kolay anlayabilirsiniz.

HFS ve HFS + dosya sistemlerinde, her dosya ve klasörün benzersiz, kalıcı bir tanımlayıcısı vardır. Takma adlar, aynı birimdeki dosya ve klasörleri bulmak için yol adı bilgileriyle birlikte bu kimliği kullanır.

Mac OS X 10.2'den başlayarak, diğer adlar ilk önce yol adını ve benzersiz kimliği ikinci kullanarak bu arama sırasını tersine çevirdi . Bu, bir dosyayı taşır ve aynı isimli bir dosyayla değiştirirseniz, orijinal dosyanın diğer adlarının şimdi yeni dosyayı gösterdiğini gösterir. Benzer şekilde, bir dosyayı aynı birimde taşırsanız (değiştirmeden), diğer adlar dosyayı bulmak için benzersiz kimlik bilgilerini kullanır .

Bir dosya veya klasör taşındığında, diğer ad, değişikliği hesaba katacak şekilde yol bilgisini veya benzersiz kimlik bilgisini güncelleyebilir. Bir dosya aynı birimde bir yere taşınırsa, diğer ad, iç kaydını dosyanın yeni yol bilgileriyle güncelleştirir. Benzer şekilde, orijinal dosya aynı ada sahip, ancak farklı bir benzersiz kimliğe sahip bir dosyayla değiştirilirse, takma ad kendi dahili kaydını yeni dosyanın benzersiz kimliğiyle güncelleştirir. (sonucu create a new file with the path and filename that the file originally had)

Takma adlar başlangıçta bir dosya konumunu çözmek için bir dosya sistemi yolu kullandığından, şimdi sembolik bağlara benzer bir davranış sunarlar. Sembolik bağlantılar, bir dosyayı bulmak için yalnızca yol bilgilerine dayanır. Bir dosyayı değiştirmeden aynı birimde bir yere taşırsanız, takma adlar sembolik olarak dosya kopmasına bağlanır. Sembolik bir bağlantıyı düzeltmenin tek yolu onu silmek ve yeni bir tane oluşturmaktır.

referans


1
Bu, OP'nin sorusunu cevaplama girişimi değil, bir cevapta yorum olarak görünmektedir. Lütfen gönderinizin orijinal soruyu nasıl yanıtladığını açıklayabilir misiniz? İyi cevaplar yazma konusunda rehberlik için bkz. Nasıl Cevap . - Şu kaynaktan
fsb

OP'in sorusunu, takma adda aramanın mac üzerinde nasıl yapıldığını, yani dosya yolunun ve UID'nin bir aramada nasıl kullanıldığını açıklayarak yanıtladım. Çok oylanan cevap, farkı yanıtladı ancak farkın neden oluştuğunu cevaplamadı.
Izana,
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.