Функция readlink
. Сделай man 2 readlink
. Эта функция является частью API Posix, поэтому она должна работать практически на любом Unix.
Если путь начинается с '/'
, то это абсолютная символическая ссылка, и у вас есть полный абсолютный путь к файлу, на который он ссылается (это может быть еще одна символическая ссылка, и вам придется повторить процесс снова ).
Если путь не начинается с '/
', то это относительная ссылка и интерпретируется относительно каталога, в котором находится символическая ссылка. Вам нужно правильно объединить путь, чтобы выяснить настоящее имя файла.
Конечно, иногда символические ссылки используются для хранения информации, которая на самом деле не является путем. Иногда программы хранят PID или другую подобную информацию в целях блокировки. Вызовы для создания символической ссылки являются одной из наиболее надежных атомарных операций, которые можно выполнять в файловой системе, смонтированной в NFS.
Кроме того, в моей системе Fedora, если вы выполните man 7 symlink
, вы получите длинное обсуждение символических ссылок, их поведения в различных обстоятельствах и краткое описание функций, которые ими манипулируют или на которые они влияют.