27

SysInternals имеет программу junction.exe, которая создает в Windows соединения (точками повторной обработки, так называемыми символическими ссылками).

Тем не менее, Windows также поставляется с mklink, который, кажется, делает то же самое.

Есть ли существенная разница?

Я склонен полагать, что если у SysInternals есть своя собственная программа, они увидят недостаток в стандартной программе MKLink.

2 ответа2

40

сравнение

Программа junction Марка Руссиновича была разработана с конкретной целью: создать (и удалить) точки соединения. Это поддерживалось годами, но никаких новых функций не было добавлено. Последняя версия была выпущена 4 июля 2016 года.

Что касается mklink , это встроенная команда, доступная в Windows Vista и более поздних версиях. Он может создавать жесткие ссылки, точки соединения и символические ссылки. Специальная функция удаления не предоставляется; Вы можете просто использовать команды del или rd , в зависимости от того, указывает ли ссылка на файл или каталог, соответственно.


Немного истории

До Vista операционные системы Windows не обеспечивали способ создания точек соединения из коробки: вам нужно было либо получить копию официального Resource Kit, либо использовать стороннюю программу, либо написать ее самостоятельно.

2000

Первая версия junction Tool была выпущена. Цитирование официального сайта:

Windows 2000 и выше поддерживает символьные ссылки на каталоги, где каталог служит символической ссылкой на другой каталог на компьютере. [...]

К сожалению, в Windows нет инструментов для создания соединений - вам нужно приобрести Win2K Resource Kit, который поставляется вместе со linkd программой для создания соединений. Поэтому я решил написать свой собственный инструмент для создания соединений : Junction.

Источник: Junction

2005-06

Команда mklink была введена в Windows Vista на ранней стадии бета-тестирования.

Он был доступен с момента официального выпуска бета-версии 27 июля 2005 года. Первоначально он мог создавать только символические ссылки и жесткие ссылки; возможность создания точек соединения появилась позже с помощью Community Technology Preview (CTP), выпущенного 19 декабря 2005 года.

По-видимому, команда осталась совершенно незамеченной до некоторого времени в 2006 году, когда она была впервые раскрыта. Вот самая ранняя ссылка, которую мне удалось найти:

Теперь вы можете создать символическую ссылку в Windows Vista.

C:\test>ver

Microsoft Windows [Version 6.0.5365]

C:\test>mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

[...]

Источник: символическая ссылка в Windows Vista

Также:

Малкольм [MSFT] (Эксперт):
В: Есть ли действительно простой способ сделать символическую ссылку?
A: Откройте CMD и введите «mklink». Этот инструмент позволит вам создавать переходы, жесткие ссылки и символические ссылки.

Источник: NTFS Beta Chat Transcript (12 июля 2006 г.)


Дополнительная информация

Файл или каталог может содержать точку повторной обработки, которая представляет собой набор пользовательских данных. Формат этих данных понимается приложением, в котором хранятся данные, и фильтром файловой системы, который вы устанавливаете для интерпретации данных и обработки файла.

Например, точки повторной обработки используются для реализации ссылок файловой системы NTFS и сервера удаленного хранения Microsoft (RSS).

Источник: Reparse Points

В файловой системе NTFS поддерживаются три типа файловых ссылок: жесткие ссылки, соединения и символические ссылки.

Источник: Жесткие ссылки и соединения

Жесткие ссылки

Жесткая ссылка - это представление файловой системы файла, по которому более одного пути ссылаются на один файл в одном и том же томе. [...] Любые изменения в этом файле мгновенно видны приложениям, которые обращаются к нему по жестким ссылкам на него. Однако размер записи каталога и информация об атрибутах обновляются только для ссылки, по которой было сделано изменение.

Источник: Жесткие ссылки и соединения

Развязки

Соединение (также называемое мягкой ссылкой) отличается от жесткого соединения тем, что объекты хранения, на которые оно ссылается, являются отдельными каталогами, и соединение может связывать каталоги, расположенные на разных локальных томах на одном компьютере.

Источник: Жесткие ссылки и соединения

Точки соединения могут связываться только с каталогами на локальном томе; точки соединения с удаленными общими ресурсами не поддерживаются.

Источник: точка соединения NTFS

Символические ссылки

Символическая ссылка - это объект файловой системы, который указывает на другой объект файловой системы. Указываемый объект называется целью.

Символические ссылки прозрачны для пользователей; ссылки отображаются в виде обычных файлов или каталогов и могут обрабатываться пользователем или приложением точно таким же образом.

Источник: Символические ссылки

[Символьные ссылки] были введены с изменениями, внесенными в файловую систему NTFS в Windows Vista, но доступны через драйверы фильтров для Windows XP.

В отличие от точки соединения NTFS (доступно с Windows 2000), символическая ссылка также может указывать на файл или путь к удаленной сети SMB. В то время как точки соединения NTFS поддерживают только абсолютные пути на локальных дисках, символические ссылки NTFS позволяют связывать, используя относительные пути.

Параметры безопасности по умолчанию в Windows Vista/Windows 7 не позволяют администраторам без повышенных прав и всем пользователям, не являющимся администраторами, создавать символические ссылки.

Источник: символическая ссылка NTFS

дальнейшее чтение

2

Как уже упоминалось в комментариях, junction.exe вышел до Vista/Winserver 2008, который шел с командой mklink .

Поэтому нет смысла использовать его в Vista. Версии Windows, более старые, чем Vista, больше не поддерживаются.

Кроме того, junction.exe не поддерживает символические ссылки NTFS (только переходы NTFS), которые были представлены в Vista/WinServer 2008 и команде mlink .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .