Программа для создания жестких ссылок
Мне она пригодилась на работе, когда было решено навести порядок на сетевом диске, но требовалась совместимость с многочисленными старыми ярлыками. Для разрешения ситуации каталоги были переименованы, а для совместимости со старыми ярлыками, были созданы скрытые символические ссылки с именами старых каталогов.
Для начала немного теории:
Символическая ссылка — специальный файл в файловой системе, в котором вместо пользовательских данных содержится путь к файлу, открываемому при обращении к данной ссылке (файлу).
Жёсткая ссылка Жёсткая ссылка связывает индексный дескриптор файла с каталогом и дает ему имя. У файла может быть несколько жёстких ссылок: в таком случае он будет фигурировать на диске одновременно в различных каталогах или под различными именами в одном каталоге. При редактировании файла через одну из ссылок на него, содержимое по другим ссылкам тоже изменится
Точка соединения NTFS (Junction Point) — нововведение в файловой системе NTFS 3.0 (файловая система по умолчанию в Windows 2000). Суть нововведения заключается в том, что указанный логический диск либо папка будет отображаться как папка на другом логическом диске либо в другой папке. Эта возможность позволяет создавать некоторые эффекты с файловой системой (например, хранить два профиля одного и того же пользователя и переключаться между ними без особых проблем). Точка соединения реализована в NTFS как особый тип точки повторной обработки (англ. reparse point)
Программа позволяет создавать жесткие ссылки, символические ссылки, Junction points, volume mount points. Она позволяет редактировать и копировать их.
Перетаскивание файлов правой кнопкой мыши так-же дает свой результат: можно быстро создать жесткую или символическую ссылку.
Если работа ведется не над файлом, а над каталогом, но выбор опций больше.
Выше я перечислил лишь малую часть возможностей программы.
По ссылке вы можете ознакомиться с иллюстрированной документацией о программе и скачать её.
Одним из способов организации объектов файловой системы в Windows является использование так называемых жёстких и символьных ссылок. Жёсткие ссылки или Hard Link обычно используются для создания путей к файлам, при этом ярлыки на них внешне практически ничем не отличаются от самих файлов. Создаются жёсткие ссылки с помощью команды fsutil hardlink create , где hardlink – это ярлык жёсткой ссылки, а file – реальный объект файловой системы.
Так как использование жёстких ссылок может вызвать неразбериху, для организации доступа к объектам файловой системы чаще используются символьные ссылки или иначе Symbolic Link. В отличие от Hard Link, они обладают большей гибкостью, позволяют создавать связи между томами, сетевыми и жёсткими дисками, поддерживают использование относительных путей. Создаются символьные ссылки командой mklink :/symboliclink.txt :/file.txt.
В обоих случаях для создания жёстких и символьных ссылок используется командная строка, но также их можно создавать с помощью специальных утилит, что намного быстрее. Наиболее удобным и простым инструментом является Link Shell Extension – небольшая утилита, позволяющая создавать жёсткие и символьные ссылки на файлы и папки прямо из контекстного меню Проводника.
Пользоваться утилитой очень просто. После её установки в меню Проводника у вас появится новая команда «Запомнить источник ссылки». Допустим, вам нужно создать жёсткую ссылку на некий файл. Кликните по нему правой кнопкой мыши, выберите в меню опцию «Запомнить источник ссылки», перейдите в нужное расположение и кликнув по пустому месту каталога, выберите опцию «Поместить как…». А тут уж вам будет предложено выбрать один из двух вариантов – жёсткая или символьная ссылка.
Аналогичным образом создаются ссылки на папки, только в этом случае утилита предложит на выбор целых семь вариантов: Символическая ссылка, Junction-связь, Умная Smart-копия, Умное Smart зеркало, DeLorean-копия, Клон жесткой ссылки и Клон символической ссылки.
Чтобы у пользователя не возникало путаницы, разным типам ссылок Link Shell Extension даёт свой собственный значок. Например, все жёсткие ссылки помечаются красной стрелкой в нижнем левом углу ярлыка, а ссылки Junction – изображением двух звеньев цепи. Символические ссылки помечаются зелёной стрелкой, но в некоторых редакциях Windows почему-то они не отображаются.
Link Shell Extension – утилита для быстрого создания жестких и символьных ссылок в Windows. Добавляет в контекстные меню проводника Windows пункты для работы с "жесткими" и "символическими" ссылками. Существующие жёсткие и символьные ссылки помечаются в Проводнике маленькой дополнительной иконкой. Файлы и каталоги с существующими ссылками имеют дополнительную закладку в "Свойствах" со списком всех жёстких ссылок и целевым местом символической ссылки.
Торрент Hard Link Shell Extension 3.9.3.5 подробно:
Одним из способов организации объектов файловой системы в Windows является использование так называемых жёстких и символьных ссылок. Жёсткие ссылки или Hard Link обычно используются для создания путей к файлам, при этом ярлыки на них внешне практически ничем не отличаются от самих файлов. Создаются жёсткие ссылки с помощью команды fsutil hardlink create , где hardlink – это ярлык жёсткой ссылки, а file – реальный объект файловой системы.
Так как использование жёстких ссылок может вызвать неразбериху, для организации доступа к объектам файловой системы чаще используются символьные ссылки или иначе Symbolic Link. В отличие от Hard Link, они обладают большей гибкостью, позволяют создавать связи между томами, сетевыми и жёсткими дисками, поддерживают использование относительных путей. Создаются символьные ссылки командой mklink :/symboliclink.txt :/file.txt.
В обоих случаях для создания жёстких и символьных ссылок используется командная строка, но также их можно создавать с помощью специальных утилит, что намного быстрее. Наиболее удобным и простым инструментом является Link Shell Extension – небольшая утилита, позволяющая создавать жёсткие и символьные ссылки на файлы и папки прямо из контекстного меню Проводника.
Пользоваться утилитой очень просто. После её установки в меню Проводника у вас появится новая команда «Запомнить источник ссылки». Допустим, вам нужно создать жёсткую ссылку на некий файл. Кликните по нему правой кнопкой мыши, выберите в меню опцию «Запомнить источник ссылки», перейдите в нужное расположение и кликнув по пустому месту каталога, выберите опцию «Поместить как…». А тут уж вам будет предложено выбрать один из двух вариантов – жёсткая или символьная ссылка.
Аналогичным образом создаются ссылки на папки, только в этом случае утилита предложит на выбор целых семь вариантов: Символическая ссылка, Junction-связь, Умная Smart-копия, Умное Smart зеркало, DeLorean-копия, Клон жесткой ссылки и Клон символической ссылки.
Чтобы у пользователя не возникало путаницы, разным типам ссылок Link Shell Extension даёт свой собственный значок. Например, все жёсткие ссылки помечаются красной стрелкой в нижнем левом углу ярлыка, а ссылки Junction – изображением двух звеньев цепи. Символические ссылки помечаются зелёной стрелкой, но в некоторых редакциях Windows почему-то они не отображаются.
Link Shell Extension будет полезна пользователям, которым приходится часто создавать различные связи в файловой системе Windows. Распространяется программа на бесплатной основе, работает со всеми популярными версиями Windows, русский язык можно выбрать при установке.
Что нового:
January 16, 2021 Version 3.9.3.5
With SE_CREATE_SYMBOLICLINK assigned to a user, UAC dialog was raised anytime after second attempt.
German Translation of Documentation.
Pressing F1 in LSEConfig crashed it. Fixed.
During Hardlink/Symbolic Link Clone pressing Cancel didn''t have an impact.
Progress bar prediction has been improved.
Fixed crash when username was > 20 chars as non-admin during symbolic link drop.
Link ShellExtension now maintains its chocolatey package.
Link ShellExtension is public on gitlab.
Как это работает:
В своём топике "Впечатления от Яндекс.Субботника" хабрачеловек absolvo высказал удивление, что один из докладчиков не знал о том, что символьные ссылки есть и в Windows. Честно говоря, не знал этого и я, поэтому поинтересовался об этих ссылках в комментариях.
Думаю, то, что удалось выяснить, может показаться кому-нибудь полезным.
Сразу оговорюсь, что под ссылками в Windows я понимаю ссылки в NTFS. В FAT механизмов ссылок, насколько мне известно, предусмотрено не было.
- Hard Links — жёсткие ссылки, как в *nix. Доступны начиная с Windows NT4.
- Junction Points — аналог символических ссылок. Доступен начиная с Windows 2000 (NTFS 5).
- Symbolic Links — символьные ссылки. Доступны начиная с Windows Vista.
Hard Links можно создавать только на файлы, Junction Points — только на директории, Symbolic Links — на файлы и директории. В дальнейшем под «жёсткими ссылками» подразумеваются Hard Links, под «символьными» — Junction Points и Symbolic Links.
Жёсткие ссылки действительны в пределах одного раздела, символьные — могут пересекать границы разделов. В связи с этим символьные ссылки могут поломаться, если структуру разделов поменять.
Не со всем, что поддерживается ядром, умеет нормально работать эксплорер. Будьте осторожны при использовании Junction Points в версиях Windows до Vista. При удалении Junction Point эксплорер может залезть внутрь директории, на которую ссылается Junction Point и поудалять там всё, а затем удалить Junction Point, хотя должен лишь удалить ссылку. Наверняка могут возникнуть проблемы и при перемещении или копировании Junction Point'ов.
Мне неизвестно, нормально ли в версиях Windows до Vista относятся к Junction Points стандартные утилиты типа rmdir.
Дополнительные материалы по теме
Отмечу англоязычную статью, в которой описаны нюансы использования ссылок и некоторые программы, позволяющие с ними работать. Статья устаревшая, так что в ней говорится только о Hard Links и Junction Points (причём на последние в статье нередко ссылаются, как на symbolic links. ).
По словам хабрачеловека SamDark, хорошее описание всех видов ссылок есть ещё в справке по NTFS Links (дополнению для Total Commander, см. ниже).
Теперь можно перейти к рассмотрению программ для работы со ссылками. Да-да, если вы не пользуетесь FAR (см. ниже), вам понадобятся отдельные программы. Все программы, перечисленные ниже, бесплатны.
Утилиты от Microsoft
Windows >= Vista
В Windows Vista добавили команду mklink для создания символьных и жёстких ссылок (спасибо за информацию хабрачеловеку metamorph).
Windows >= 2000
fsutil hardlink create ссылка файл
Создаёт Hard Link на файл (источник).
linkd ссылка директория
Создаёт Junction Point на директорию (источник). Утилита входит в Microsoft Windows Resources Kit.
Расширения для Explorer
NTFS Link интегрируется в Explorer и добавляет во всплывающее меню, появляюшееся после перетаскивания правой кнопкой мыши, пункты «Create junction point» и «Create hard link». Кроме того, она перехватывает вызовы Explorer'а, обеспечивая нормальное перемещение/копирование/удаление созданных ссылок.
NTFS Links (не путать с дополнением для Total Commander, см. ниже) — абсолютно аналогичная программа. Спасибо за комментарий хабрачеловеку vpbar.
Я рекомендую: Link Shell Extension — аналогичная программа, обладающая расширенным функционалом и очень подробным описанием. Спасибо за комментарий хабрачеловеку versia.
NTFS Links — дополнение для Total Commander
Консольный файловый менеджер FAR уже давно поддерживает Hard Links и Junction Points «из коробки». Для создания ссылки используйте сочетание клавиш Alt-F6 ;-) Спасибо за комментарий хабрачеловеку 4xis.
Junction Link Magic
Junction Link Magic — программа с графическим интерфейсом для создания, изменения и модификации Junction Points. Спасибо за комментарий хабрачеловеку vady.
Junction — консольная программа для создания Junction Points
Junction лучше, чем linkd , тем, что не нужно тащить весь Resource Kit :-) Спасибо за комментарий хабрачеловеку corp.
Читайте также: