У нас есть два пути. Первый - это каталог, второй - каталог или файл.
/a/b/c
и /a/d/e.txt
Относительный путь от первого пути ко второму будет:
../../d/e.txt
Как рассчитать это в терминале Linux? Для тех, кто спрашивает «Что такое вариант использования?», Можно использовать это, например, для создания множества относительных символических ссылок.
linux
command-line
shell
path
techraf
источник
источник
Ответы:
Предполагая, что GNU coreutils:
Для символических ссылок
ln
недавно узнал--relative
опцию.Для всего остального,
realpath
поддерживает параметры--relative-to=
и--relative-base=
.источник
Для меня этот ответ (который использует python oneliner) работает идеально.
Успешно протестирован на Linux (Kubuntu 14.04) и на Mac OSX, требуется Python 2.6.
источник
Чтобы не зависеть от того,
realpath
что не всегда доступно, и минимизировать зависимости, я придумал это (используя небольшую справку из этого ответа ):Создает подоболочку для нахождения общей части обоих путей. Может быть, вам это нравится - работает для меня.
источник