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 path
absolute path
A relative path
, başka bir dizinden başlayarak yorumlanması gereken bir yoldur. Bir çalışma dizini olabilir.relative path
Bir 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 name
veya resolved path
) çağırır absolute path
, yani bağlantı kurdukları yere bir yolla değiştirilir. Komutlar realpath
ve readlink
her ikisi de kanonik bir yol arar, ancak yalnızca realpath
sembolik 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
realpath
ve readlink
bunu 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 path
iki nedenden dolayı bir dosyada birden fazla olabilir :
- dosyayı içeren bölüm
ro
birkaç 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 path
bir dosyaya birkaç kanonik yol olabilir. Bu aynı zamanda niteleyicinin canonical
bir ş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 realpath
daha iyi tasarlanmış ve çok daha esnek olmasıdır readlink
. Bunun readlink
kapsamadığı tek kullanım realpath
seçeneği, sembolik bir bağlantının değerini döndüren seçenek olmadan yapılan çağrıdır.