Все мы знаем и нередко пользуемся такой великолепной вещью в Unix системах, как символические и жесткие ссылки на файлы и каталоги. Это далеко не то же самое, что привычные ярлыки в Windows.
С приходом Windows Vista мы увидели, что каким-то образом "винда" тоже может делать ссылки, причем символические. Но как? В проводнике нет соответствующего пункта.
Для создания ссылок в Windows Vista/7/2008 используется команда mklink:
> mklink <linkpath> <sourcepath>
По команде mklink /? нам покажут справку, где говорится, что если мы запустим команду без дополнительных параметров - будет сделана символическая ссылка на файл; если укажем параметр /D - то будет создана символическая ссылка на директорию. Для создания жесткой ссылки на файл нам предлагают использовать параметр /H, а для Junction-ссылки - /J.
Пример создания символической ссылки на директорию:
> mklink /D C:\mydir\ThisIsLink D:\anotherdir\RealDir
ВНИМАНИЕ! Жесткие ссылки не могут быть созданы на файлы, находящиеся на другом разделе (на другом жестком диске).
Все бы ничего, но будьте очень внимательны! В отличие от Unix, эта функциональность в Windows имеет глюкавые камни, из-за которых вы легко заимеете проблем, если попытаетесь таким образом, например, обмануть MS SQL Server и вместо реальной директории подложите ему символическую ссылку - работать он не будет.
ЗЫ. Некоторые файловые менеджеры, такие, как FAR или Total Commander с плагином NTFS Links давно умеют делать ссылки для файловых систем Windows.
Комментарии
Оставить комментарий
Операционные системы и системное программировние
Термины: Операционные системы и системное программировние