Ответ 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
.
Когда вы делаете
cat some-symlink-to-some-real-file
он показывает содержимое реального файла, а не то, что находится внутри самой символической ссылки. Есть ли способ увидеть, что на самом деле в нем?
Команда 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
.
Вы можете вызвать функцию readlink(2)
, которая поместит связанное имя в буфер.
Обратите внимание, что результат имеет длину (сохраненную в возвращаемом значении), а не завершающую NUL. Поэтому, если вы хотите использовать его как строку, добавьте NUL самостоятельно.
Большинство языков верхнего уровня/сценариев, таких как perl или python, предоставят оболочку readlink, которая преобразуется в обычный тип строки, подходящий для языка, поэтому вам не будут беспокоиться о таких деталях, как NUL-term.
Попробуйте
find . -type l -exec ls -la {} \;
Относительно man-страницы http://man7.org/linux/man-pages/man7/symlink.7.html symlink - это обычный файл (со специальным флагом) с путём к цели в своем контенте. Таким образом, вы можете скопировать символическую ссылку на раздел FAT и прочитать там контент.