Символьная (символическая) ссылка (также симлинк от англ. 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

И жесткая ссылка, и файл, на который она ссылается, должны быть на одном и том же логическом диске.