Символьная (символическая) ссылка (также симлинк от англ. Symbolic link) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Ссылка может указывать на файл, каталог или даже несуществующий файл. Основное назначение символьных ссылок – создание удобной структуры файлов и каталогов в файловой системе. Ссылки позволяют для одного файла или каталога иметь несколько имён, абсолютно никак не связанных с именами файлов или каталогов, на которые они ссылаются. На практике, символьные ссылки используются для подключения в нужное место файловой системы файлов или папок, расположенных в произвольных местах, а также для связывания содержимого с конкретным именем файла или каталога. Например, для подключения к каталогу, обслуживаемому FTP-сервером, съемного диска (флэшки) для временной раздачи по FTP. Вместо копирования содержимого флэшки, можно в домашнем каталоге сервера создать символьную ссылку, ссылающуюся на ее содержимое.
1. Описание команды MKLINK.
1.1. Формат командной строки MKLINK:
C:\ MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение
1.2. Параметры командной строки:
- /D — Создание символической ссылки на каталог. По умолчанию создается символическая ссылка на файл.
- /H — Создание жесткой связи (hard link)вместо символической ссылки.
- /J — Создание соединения для каталога.
- Ссылка — Имя новой символической ссылки.
- Назначение — Путь (относительный или абсолютный), на который ссылается создаваемая ссылка.
2. Примеры использования.
2.1. Отобразить подсказку по использованию команды:
C:\ mklink /?
2.2. Создать в текущем каталоге символьную ссылку с именем slnk1, ссылающуюся на корневой каталог диска D:
C:\ mklink /D slnk1 D:\
2.3. Создать символическую ссылку с именем ShC в каталоге mountpoint на диске C:, ссылающуюся на теневую копию (мгновенный снимок) диска:
C:\ mklink /D C:\mountpoint\ShC \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\ - .
При работе с каталогами, параметр /J и параметр /D имеют одинаковый результат.
2.4. Для удаления созданных символических ссылок можно воспользоваться стандартными командами командной строки Windows:
2.4.1. удалить символьную ссылку на файл. Сам файл, на который ссылается ссылка, не удаляется:
C:\ erase lnkfile1
2.4.2. То же, но с использованием команды del:
C:\ del lnkfile1
2.4.3. Удаление символической ссылки на каталог:
C:\ rmdir C:\mountpoint\ShC
Сам каталог не удаляется. Обратите внимание, что использование команды del для файлов внутри каталога, на который ссылается ссылка, приводит к их удалению.
2.4.4. Удалить файл из каталога, определенного символической ссылкой:
C:\ erase C:\mountpoint\ShC\lile1.txt
2.5. Создать жесткую ссылку с именем hm, ссылающуюся на файл histmacros.cmd:
C:\ mklink /H hm histmacros.cmd
Жесткие ссылки могут создаваться только в пределах одного раздела.
Нельзя создать жесткую ссылку, например, командой:
C:\ mklink /H C:\mountpoints\hm D:\SCRIPTS\histmacros.cmd
И жесткая ссылка, и файл, на который она ссылается, должны быть на одном и том же логическом диске.