Лекция: Символьные линки: ln -s

Символьный линк – это специальный вид файла, который не является собственно файлом, а есть ссылка на другой файл. Неким подобием символьных линков являются «ярлыки» (файлы .lnk) в Windows95/NT.

В момент обращения к линку ядро как бы «заменяет» линк файлом, на который он указывает. Для большинства программ (кроме «особо любопытных») то, что какой-то файл является не файлом, а символьным линком, совершенно прозрачно, и они не заметят разницы.

Символьные линки могут указывать как на файлы, так и на директории и даже на другие символьные линки (возможна цепочка типа symlink1->symlink2->symlink3->real_file).

Символьные линки могут ссылаться на файлы в других директориях, причем ссылки могут быть как абсолютными (symlink->/etc/termcap), так и относительными (symlink->../../etc/termcap), в этом случае файл, на который ссылается линк, ищется не относительно текущей директории, а относительно директории, в которой расположен линк.

Права доступа символьного линка не играют роли – вместо них всегда используются права доступа файла, на который линк указывает.

Символьный линк может ссылаться как на существующий файл, так и на несуществующий, в этом случае он является «висячим линком». Можно даже сделать символьный линк, ссылающийся «сам на себя» (link->link).

Для создания символьного линка используется команда «ln» с ключом "-s", при этом указывается что слинковать и куда – порядок параметров такой же, что в командах cp и mv. При просмотре листинга директории в «детальном» формате кроме имени самого линка показывается также, куда он указывает, а самым первым символом (тип файла) ставится «l».

bobby:/tmp/ex1% ls -l

total 1

-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt

bobby:/tmp/ex1% ln -s file.txt locallink

bobby:/tmp/ex1% ln -s /etc/fstab abslink

bobby:/tmp/ex1% ln -s ../../etc/termcap rellink

bobby:/tmp/ex1% ls -l

total 1

lrwxrwxrwx 1 ivanov lab5 10 Feb 14 20:45 abslink -> /etc/fstab

-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt

lrwxrwxrwx 1 ivanov lab5 8 Feb 14 20:44 locallink -> file.txt

lrwxrwxrwx 1 ivanov lab5 17 Feb 14 20:45 rellink -> ../../etc/termcap

еще рефераты
Еще работы по информатике