Genellikle böyle bir şey yoktur olarak bir dosyaya (genel olarak birden fazla, kesin maddenin dolayısıyla kullanımı olabileceğini bu açıklama vasıtası ile uygun değildir). An kökten "/" başlayan ve belirsiz bir dosyayı çalışma dizininden bağımsız olarak belirten herhangi bir yoldur (bkz . Wikipedia ). absolute pathabsolute path
A relative path, başka bir dizinden başlayarak yorumlanması gereken bir yoldur. Bir çalışma dizini olabilir.relative pathBir uygulama tarafından manipüle ediliyorsa (mutlaka olmasa da) . Bir dizindeki sembolik bir bağ içindeyse, genellikle bu dizine göre olması amaçlanır (ancak kullanıcının aklında başka kullanımlar olabilir).
Dolayısıyla mutlak bir yol sadece kök dizine göre bir yoldur.
Bir yol (mutlak veya göreli) sembolik bağlantılar içerebilir veya içermeyebilir. Değilse, bağlantı yapısındaki değişikliklere de biraz geçirimsizdir, ancak bu mutlaka gerekli veya hatta arzu edilmez. Bazı insanlar , tüm sembolik bağlantıların çözüldüğü bir çağrıyı canonical path(veya canonical file nameveya resolved path) çağırır absolute path, yani bağlantı kurdukları yere bir yolla değiştirilir. Komutlar realpathve readlinkher ikisi de kanonik bir yol arar, ancak yalnızca realpathsembolik bağlantıları çözmek için uğraşmadan mutlak bir yol elde etme seçeneğine sahiptir (bazı dizinlere mutlak veya göreceli çeşitli yol türleri elde etmek için birkaç seçenekle birlikte).
Bu birkaç açıklama gerektirir:
- sembolik bağlantılar ancak bağlantı kurmaları gereken her şey zaten oluşturulmuşsa çözülebilir, ki bu her zaman böyle değildir. Komutlar
realpathve readlinkbunu hesaba katmak için seçenekler var.
- yoldaki bir dizin daha sonra sembolik bir bağlantı haline gelebilir, bu da yolun artık olmadığı anlamına gelir
canonical. Dolayısıyla kavram zamana (veya çevreye) bağlıdır.
- ideal durumda bile, tüm sembolik bağlantılar çözülebildiğinde,
canonical pathiki nedenden dolayı bir dosyada birden fazla olabilir :
- dosyayı içeren bölüm
robirkaç bağlama noktasına aynı anda ( ) monte edilmiş olabilir .
- dosyaya sabit bağlantılar olabilir, yani dosya birkaç farklı dizinde bulunur.
Bu nedenle, çok daha kısıtlayıcı bir tanımla bile, canonical pathbir dosyaya birkaç kanonik yol olabilir. Bu aynı zamanda niteleyicinin canonicalbir şekilde yetersiz olduğu anlamına gelir, çünkü genellikle teklik kavramını ima eder.
Bu, Bash'teki benzer başka bir sorunun cevabında konuyla ilgili kısa bir tartışmayı genişletir : göreceli verilen mutlak yolu al
Benim sonucum realpathdaha iyi tasarlanmış ve çok daha esnek olmasıdır readlink. Bunun readlinkkapsamadığı tek kullanım realpathseçeneği, sembolik bir bağlantının değerini döndüren seçenek olmadan yapılan çağrıdır.