|
2.10.2 Символические
связи
Символические связи,
это другой тип связей, отличающийся от жестких связей. Символические связи
позволяют давать новые имена файлам, но при этом не ссылаются на индекс
файла.
Команда ln
-s создаст символическую ссылку на указанный файл. Например, если
мы воспользуемся командой
# ln -s foo bar
мы создадим символьную
ссылку bar, указывающую на файл foo. Если теперь используем
команду ls -i, то увидим, что два файла имеют различные индексы.
# ls -i foo bar
22195 bar 22192 foo
#
Однако, используя
ls -l, мы видим, что файл bar имеет символический указатель
на foo.
# ls -l foo bar
lrwxrwxrwx 1 root root 3 Aug 5 16:51 bar -> foo
-rw-r--r-- 1 root root 12 Aug 5 16:50 foo
#
При символической
ссылке не используются биты прав доступа (они всегда отображаются, как
rwxrwxrwx). Вместо этого, права доступа к файлу, полученному символической
ссылкой, определяются правами доступа к файлу, на который он ссылается
(в нашем примере определяется правами файла foo).
Функционально,
жесткие ссылки и символические ссылки похожи, но есть некоторые различия.
Например, вы можете создать символическую ссылку на файл, который не существует;
так нельзя сделать применительно к жесткой ссылке. Символические ссылки
обрабатываются ядром иным образом, чем жесткие. Это скорее техническое
отличие, но иногда важное. Символические ссылки полезны, поскольку они
позволяют идентифицировать файл, на который они указывают; для жестких
ссылок нет простого способа определить, какие файлы привязаны к одному
и тому же индексу.
Ссылки используются
во многих местах системы Linux. Символические ссылки особенно важны для
образов разделяемых библиотек в /lib. Смотри дополнительную информацию
в Разделе 3.7.2.
Copyright
© 2000 Soft Group
|
|