Mamy dwie ścieżki. Pierwszy to katalog, drugi to katalog lub plik.
/a/b/c
i /a/d/e.txt
Ścieżka względna od pierwszej ścieżki do drugiej będzie:
../../d/e.txt
Jak obliczyć to w terminalu Linux? Dla tych, którzy pytają „Co to jest przypadek użycia?” Można to wykorzystać - na przykład - do stworzenia wielu względnych dowiązań symbolicznych.
linux
command-line
shell
path
techraf
źródło
źródło
Odpowiedzi:
Zakładając, że GNU coreutils:
W przypadku dowiązań symbolicznych
ln
niedawno poznał tę--relative
opcję.Do wszystkiego innego
realpath
obsługuje opcje--relative-to=
i--relative-base=
.źródło
Dla mnie ta odpowiedź (która używa onelinera pythonowego) działa idealnie.
Z powodzeniem przetestowany na systemie Linux (Kubuntu 14.04) i na Mac OSX, wymaga Pythona 2.6.
źródło
Aby nie polegać na
realpath
tym, że nie jest to konsekwentnie dostępne i minimalizować zależności, wymyśliłem to (korzystając z niewielkiej pomocy z tej odpowiedzi ):Odradza podpowłokę do znajdowania wspólnej części obu ścieżek. Może ci się podoba - działa dla mnie.
źródło