Как определить, что такое символическая ссылка, вместо адресата?

Есть ли способ, каким образом я могу просматривать / редактировать содержимое символьной ссылки? Я не хочу видеть место назначения, на которое указывает ссылка, но сама символическая ссылка.

Предположим, у меня есть файл file.txt и я создаю ссылку на file.txt как

  ln -s $HOME/path/to/file.txt . 

Теперь, если я скопирую эту ссылку в другую систему, эта ссылка ничего не укажет, если $HOME расширится до чего-то другого в другой системе, даже если путь после $HOME все тот же. Есть ли способ редактировать файл ссылки, чтобы $HOME не был расширен до создания файла, но является частью самого файла?

One Solution collect form web for “Как определить, что такое символическая ссылка, вместо адресата?”

readlink покажет вам содержимое ссылки, но пункт назначения – все, что есть.

Вы не можете поместить переменные в символическую ссылку, но вы можете сделать пути относительными. Поэтому, если у вас есть:

 $HOME/path/to/file.txt $HOME/other/path/to/symlink.txt 

Вы можете создать символическую ссылку как ../../../path/to/file.txt , она укажет на file.txt независимо от того, что такое $HOME .

 ln -s ../../../path/to/file.txt $HOME/other/path/to/symlink.txt 
  • Как сделать символическую ссылку от / A до / B, от запуска в / C
  • Как найти, какая команда выполняется символической связью?
  • Confused with symlinks - ссылка, созданная в нужном каталоге
  • Когда символическая ссылка неприемлема?
  • Хорошая идея, чтобы символизировать каталог вирусной базы данных?
  • Какой файловый режим является символической ссылкой?
  • pwd без символических ссылок
  • Удаление Symlink в домашний каталог
  • Создание глубокой символической ссылки
  • Поиск исходного файла символической ссылки
  • Системная символьная ссылка
  • Linux и Unix - лучшая ОС в мире.