Подтвердить что ты не робот

Есть ли способ увидеть фактическое содержимое символической ссылки?

Когда вы делаете

cat some-symlink-to-some-real-file

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

4b9b3361

Ответ 1

Команда ls -l покажет вам, что:

$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd

Или readlink команда:

$ readlink foo
/etc/passwd

Итак, символическая ссылка foo указывает на путь /etc/passwd.

Ответ 2

Вы можете вызвать функцию readlink(2), которая поместит связанное имя в буфер.

Обратите внимание, что результат имеет длину (сохраненную в возвращаемом значении), а не завершающую NUL. Поэтому, если вы хотите использовать его как строку, добавьте NUL самостоятельно.

Большинство языков верхнего уровня/сценариев, таких как perl или python, предоставят оболочку readlink, которая преобразуется в обычный тип строки, подходящий для языка, поэтому вам не будут беспокоиться о таких деталях, как NUL-term.

Ответ 3

Попробуйте

find . -type l -exec ls -la {} \;

Ответ 4

Относительно man-страницы http://man7.org/linux/man-pages/man7/symlink.7.html symlink - это обычный файл (со специальным флагом) с путём к цели в своем контенте. Таким образом, вы можете скопировать символическую ссылку на раздел FAT и прочитать там контент.