<Предыдущая | Содержание: | Следующая>
Создание символических ссылок
Символические ссылки были созданы для преодоления двух недостатков жестких ссылок: жесткие ссылки не могут охватывать физические устройства, а жесткие ссылки не могут ссылаться на каталоги, а только на файлы. Символьные ссылки - это особый тип файла, который содержит текстовый указатель на целевой файл или каталог.
Создание символических ссылок аналогично созданию жестких ссылок:
[я @ linuxbox детская площадка] $ ln -s весело весело-сим [я @ linuxbox детская площадка] $ ln -s ../fun dir1 / fun-sym [я @ linuxbox детская площадка] $ ln -s ../fun dir2 / fun-sym
[я @ linuxbox детская площадка] $ ln -s весело весело-сим [я @ linuxbox детская площадка] $ ln -s ../fun dir1 / fun-sym [я @ linuxbox детская площадка] $ ln -s ../fun dir2 / fun-sym
Первый пример довольно прост, мы просто добавляем параметр «-s» для создания символической ссылки, а не жесткой ссылки. Но как насчет следующих двух? Помните, когда мы создаем символическую ссылку, мы создаем текстовое описание того, где целевой файл соотносится с символической ссылкой. Легче увидеть, если мы посмотрим на ls вывод:
[я @ linuxbox детская площадка] $ ls -l каталог1
[я @ linuxbox детская площадка] $ ls -l каталог1
Всего 4 | ||
-rw-r - r-- 4 меня | me | 1650 2016-01-10 16:33 весело-жесткий |
lrwxrwxrwx 1 меня | me | 6 2016 01:15 fun-sym -> ../fun |
Список для веселье in dir1 показывает, что это символическая ссылка, начинающаяся с буквы «l» в первом поле, и что она указывает на «../fun», что является правильным. Относительно расположения веселье, fun находится в каталоге над ним. Также обратите внимание, что длина файла символической ссылки равна 6, это количество символов в строке «../fun», а не длина файла, на который он указывает.
При создании символических ссылок вы можете использовать абсолютные пути:
[я @ linuxbox детская площадка] $ ln -s / home / me / игровая площадка / fun dir1 / fun-sym
[я @ linuxbox детская площадка] $ ln -s / home / me / игровая площадка / fun dir1 / fun-sym
или относительные пути, как мы сделали в нашем предыдущем примере. В большинстве случаев использование относительных путей более желательно, поскольку это позволяет переименовывать и / или перемещать дерево каталогов, содержащее символические ссылки и файлы, на которые они ссылаются, без разрыва ссылок.
Помимо обычных файлов, символические ссылки могут также ссылаться на каталоги:
[я @ linuxbox детская площадка] $ ln -s реж1 дир1-сим
[я @ linuxbox детская площадка] $ ls -l
Всего 16
drwxrwxr-х | 2 | me | me | 4096 | 2016-01-15 | 15:17 | dir1 |
lrwxrwxrwx | 1 | me | me | 4 | 2016-01-16 | 14:45 | dir1-sym -> dir1 |
drwxrwxr-х | 2 | me | me | 4096 | 2016-01-15 | 15:17 | dir2 |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | fun |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | веселый |
lrwxrwxrwx | 1 | me | me | 3 | 2016-01-15 | 15:15 | fun-sym -> веселье |