/Users/lukas
"mutlak" bir yoldur. Lider /
senin dosya sisteminin kök dizinini temsil eder.
lukas
"göreceli" bir yoldur. Köke sabitlenmediği için " geçerli dizinde ara" anlamına gelir . Geçerli dizin /Users
(veya içinde başka bir dizin) olmadığı sürece lukas
bu başarısız olur.
Öyleyse, içinde olduğunuzu varsayarak örneklerinizi inceleyelim /Users/lukas
:
$ cd Documents/
/Users/lukas/Documents
Göreli yol verilen => içindeki "Belgeler" dizinine değiştirin /Users/lukas
.
$ cd /Documents
-bash: cd: /Documents: No such file or directory
Mutlak yol verilen => dizine değiştirin /Documents
.
$ pwd
/
Bu, çalışma dizinini artık kök dizine değiştirdiğinizi gösterir /
(ancak cd
bunu yapma komutu gösterilmemiştir).
$ cd Users
/Users
Göreli yol verilen => içindeki "Kullanıcılar" dizinine değiştirin /
.
$ cd /Users
/Users
Mutlak yol verilen => dizine değiştirin /Users
.
Her seferinde anahtar bu liderliktir /
. Bununla birlikte, yol mutlaktır. Onsuz, yol görecelidir. Tüm mutlak yollar ile başladığı için /
(kök dizin her zaman çağrıldığı için /
) bu kural açık değildir .
İşte bu algoritmayı gevşek bir şekilde tanımlayan bazı sözde kod:
MakePathAbsolute(path):
if <path> starts with '/'
return <path>
else
return <current directory>/<path>
Geçtiğiniz argüman cd
bu algoritmadan geçer; sonunda değiştirdiğiniz dizin algoritmanın döndürdüğü yoldur.
Daha fazla okuma: