Определение целевого объекта ссылки с использованием readlink
На этом этапе вы узнаете, как использовать команду readlink
для определения целевого объекта символической ссылки.
В то время как команда ls -l
отлично подходит для визуального обзора, команда readlink
специально разработана для разрешения символических ссылок и вывода целевого пути. Это особенно полезно в скриптах или когда вам нужен только целевой путь без другой информации о файле.
Убедитесь, что вы находитесь в каталоге ~/project
.
Используйте команду readlink
для символической ссылки my_symlink
, которую вы создали на предыдущих шагах:
readlink my_symlink
Выводом будет путь, на который указывает символическая ссылка:
original_file.txt
Это подтверждает, что my_symlink
действительно указывает на original_file.txt
.
У команды readlink
есть полезная опция -f
, которая рекурсивно следует по всем символическим ссылкам и разрешает их до абсолютного пути конечного целевого объекта. Это полезно, если у вас есть цепочка символических ссылок.
Создадим еще одну символическую ссылку, которая будет указывать на my_symlink
:
ln -s my_symlink another_link
Теперь, если вы используете команду readlink
для another_link
без опции -f
, она покажет непосредственный целевой объект:
readlink another_link
Вывод:
my_symlink
Но если вы используете команду readlink -f
для another_link
, она будет следовать по цепочке (another_link
-> my_symlink
-> original_file.txt
) и выдаст абсолютный путь конечного целевого объекта:
readlink -f another_link
Вывод:
/home/labex/project/original_file.txt
Это показывает полный путь к исходному файлу. Команда readlink -f
очень мощна для нахождения конечного назначения ссылки, даже если она вложена в другие ссылки.
Теперь вы узнали три способа работы с символическими ссылками: использование test -L
для проверки, является ли файл ссылкой, использование ls -l
для просмотра деталей ссылки и ее целевого объекта, а также использование readlink
для определения целевого пути.