ln
поведение с относительными путями неинтуитивно. Чтобы восстановить здравомыслие, используйте флаг -r
.
cd /run/media/name/exhdd
ln -sr Data/ ~/Data
Пояснение:
-r, --relative
create symbolic links relative to link location
Это означает, что ln
сделает то, что вы ожидаете. Он примет во внимание, в каком каталоге вы находитесь, в каком каталоге находится цель, и создаст путь относительно каталога, в котором будет ссылка. Поведение по умолчанию (без-r
)заключается в интерпретации первого параметра (. ] цель)буквально ,в этом случае вы должны сами построить путь, чтобы он был действителен в каталоге ссылки.
В качестве альтернативы можно использовать абсолютный путь, как указано @SmithJohn
ln -s "$(realpath Data)" ~/Data #bash shell
или
ln -s "(realpath Data)" ~/Data #fish shell
Мне удалось решить проблему с udevadm
.
МОДЕЛЬ и ПРОДАВЕЦ можно получить, запросив свойства и выбрав соответствующую информацию:
# udevadm info --query property /dev/disk/by-uuid/7936-E126 | grep "ID_VENDOR=\|ID_MODEL="
ID_MODEL=Voyager_3.0
ID_VENDOR=Corsair
# udevadm info --query property /dev/disk/by-uuid/5A26-0601 | grep "ID_VENDOR=\|ID_MODEL="
ID_MODEL=USB3.0_CRW_-SD
ID_VENDOR=Generic-
Итак, теперь я могу легко и однозначно получить доступ к MODEL и VENDOR для заданного UUID.
На данный момент единственный способ обратить этот процесс вспять — перебрать все устройства и выбрать только те, которые обладают свойством ID_BUS=usb
и соответствуют ПОСТАВЩИКУ или МОДЕЛИ, но, учитывая объем исходного вопроса, этого ответа достаточно.