Трассировка маршрута символической ссылки

Вы можете создать виртуальную частную сеть на основе ssh, используя псевдоустройство tun network; man ssh дает пример. Если у вас нет администраторского доступа на сервере с доступом в интернет, вы можете использовать sshuttle для достижения той же цели.

1
29.12.2016, 01:08
2 ответа

Один из способов сделать это - создать собственную рекурсивную ссылку для чтения .

function readlinkWithPrint() {
    link=`readlink "$@"`
    [ -e "$link" ] && echo "$link"
    [ -h "$link" ] && readlinkWithPrint "$link"
}

Вот тест:

$ touch file
$ ln -s file symlink1
$ ln -s symlink1 symlink2
$ readlinkWithPrint symlink2
symlink1
file

К сожалению, эта функция довольно проста; параметры, которые вы предоставляете для frist readlink , не будут распространяться на остальные, плюс вы не можете читать несколько файлов.

2
29.04.2021, 00:06

Думаю, вы ищете namei , который является частью пакета util-linux, доступного на всех невстроенных Linux система.

См. эту ветку относительно эквивалента для macOS. Исходный код должен быть в основном переносимым, если он вам нужен в другом варианте Unix.

1
29.04.2021, 00:06

Теги

Похожие вопросы