Как создать символическую ссылку в Windows 10

Обновлено: 03.07.2024

Символические ссылки или символические ссылки — это «виртуальные» файлы или папки, которые ссылаются на физический файл или папку, расположенные в другом месте, и являются важной функцией, встроенной во многие операционные системы, включая Linux и Windows.

Файловая система Windows NTFS поддерживает символические ссылки, начиная с Windows Vista. Однако разработчикам Windows было нелегко создавать символические ссылки. В наших усилиях по постоянному улучшению интерфейса Windows Developer мы исправляем эту ошибку!

Начиная с Windows 10 Insiders build 14972, символические ссылки можно создавать без необходимости повышения прав администратора консоли. Это позволит разработчикам, инструментам и проектам, которые ранее не могли эффективно работать в Windows из-за проблем с символическими ссылками, работать так же эффективно и надежно, как и в Linux или OSX.

Фон

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

В связи с этим разработчики часто заменяют повторяющиеся копии общих файлов/папок символическими ссылками на физические файлы/папки. Замена избыточных копий файлов может сэкономить много места на физическом диске и значительно сократить время, затрачиваемое на копирование/резервное копирование/развертывание/клонирование проектов.

В UNIX-совместимых операционных системах, таких как Linux, FreeBSD, OSX и т. д., символические ссылки можно создавать без ограничений.

Однако для пользователей Windows из-за требований безопасности Windows Vista пользователям требовались права локального администратора и, что важно, приходилось запускать mklink в консоли командной строки с повышенными правами администратора для создания/изменения символических ссылок. . Это последнее ограничение привело к тому, что большинство разработчиков Windows стали редко использовать символические ссылки, а многие современные средства кроссплатформенной разработки стали менее эффективно и надежно работать в Windows.

Теперь в Windows 10 Creators Update пользователь (с правами администратора) может сначала включить режим разработчика, а затем любой пользователь на компьютере может запустить команду mklink без повышения прав консоли командной строки.

Что повлияло на это изменение?

Наличие и использование символических ссылок имеет большое значение для современных разработчиков:

Многие популярные инструменты разработки, такие как git, и менеджеры пакетов, такие как npm, распознают и сохраняют символические ссылки при создании репозиториев или пакетов соответственно. Когда эти репозитории или пакеты затем восстанавливаются в другом месте, символические ссылки также восстанавливаются, гарантируя, что дисковое пространство (и время пользователя) не будет потрачено впустую.

Например, Git, наряду с такими сайтами, как GitHub, стал основным инструментом управления исходным кодом, используемым сегодня большинством разработчиков.

picture1

Рис. 1. Тенденции использования инструментов SCM, 2004–2016 годы (источник, Google)

Использование менеджеров пакетов в современной разработке также резко возросло в последние годы. Например, Node Package Manager (npm) обслужил около 400 миллионов установок за неделю с 1 июля 2015 года, но всего через год обслужил более 1,2 миллиарда установок — 3-кратное увеличение всего за один год! В конце июня 2016 года npm обслужил более 1,7 млрд пакетов узлов всего за семь дней!

Рисунок 2 : npm загрузил 1,2 млрд загрузок в первую неделю июля 2016 г.

Рисунок 2. npm загрузил 1,2 млрд загрузок в первую неделю июля 2016 г.

Существуют явные драйверы, требующие, чтобы Windows позволяла создавать символические ссылки для пользователей без прав администратора:

  • Современные проекты разработки все чаще переносятся между операционными системами.
  • Современные инструменты разработки поддерживают символические ссылки, и многие из них оптимизированы для них.
  • Разработчики Windows должны пользоваться средой разработки, которая по крайней мере не уступает другим.

Как использовать символические ссылки

Символические ссылки создаются с помощью команды mklink или API CreateSymbolicLink

мкссылка

  • Нет никаких изменений в том, как вызывать mklink. Для пользователей, у которых включен режим разработчика, команда mklink теперь будет успешно создавать символическую ссылку, если пользователь не является администратором.

Создать символическую ссылку

  • Чтобы включить новое поведение при использовании API CreateSymbolicLink, необходимо установить дополнительный параметр dwFlags:

Пример использования

В приведенном ниже примере:

  • Вложенная папка с названием «животные», содержащая три файла (cat.txt, dog.txt и fish.txt)
  • (зеленый) Команда mklink выполняется для создания символической ссылки с именем «pet.txt», указывающей на файл «animalsdog.txt».
  • (синий) При отображении содержимого текущей папки можно увидеть символическую ссылку (желтый)
  • (фиолетовый) При содержимом файла pet.txt, отображается содержимое указанного файла («dog.txt»)

picture3

После создания символические ссылки можно открывать, загружать, удалять и т. д., как и любой другой файл. Здесь символическая ссылка pet.txt открывается в блокноте (красный):

picture4

Как мне попробовать?

Эта новая поддержка символических ссылок впервые появилась в Windows 10 Insiders Build 14972 и будет официально добавлена ​​в Windows 10 Creators Update. Мы также работаем с владельцами инструментов сообщества с открытым исходным кодом, таких как Git и npm, чтобы они знали о грядущих улучшениях символических ссылок и могли внести необходимые изменения для лучшей поддержки символических ссылок в Windows.

Мы рекомендуем вам попробовать эту новую функцию и обязательно сообщите нам об этом через центр обратной связи Windows 10 или в Твиттере и т. п. (см. ниже). Пожалуйста, зарегистрируйтесь в программе Windows Insiders, если вы еще не попробовали символические ссылки!

Symlink Windows Featured

Символические ссылки или символические ссылки — это одна из менее известных, но полезных функций Windows. Вы можете думать о символических ссылках как о ярлыках, которые вы создаете в Windows. Однако символические ссылки гораздо мощнее и полезнее, чем обычные ярлыки. Давайте обсудим, что такое символические ссылки и как их легко создать в Windows 10.

Также прочтите: последние проблемы с обновлением Windows 10 и способы их устранения

Что такое символические ссылки?

Когда вы создаете ярлык для файла или папки, все, что вы делаете, это указываете на этот конкретный файл или папку, и ничего больше. Символические ссылки — это гораздо больше, чем просто ярлык. Они действуют как виртуальный файл или папка, связанная с реальным файлом или папкой.

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

Например, большинство устанавливаемых вами приложений облачных сервисов будут синхронизировать только файлы и папки, расположенные в их собственных папках. Но будут случаи, когда у вас может быть папка на другом диске, которую вы хотите синхронизировать с облачным хранилищем.

Также прочтите: 4 простых способа быстро скопировать большое количество файлов в Windows

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

Поскольку символическая ссылка — это всего лишь виртуальная папка, которая действует как путь к реальной папке, вам не нужно беспокоиться о том, что символическая ссылка занимает место на вашем диске.

Создание символической ссылки с помощью расширения Link Shell

Создать символическую ссылку Windows 10 Lseconfig

Если вы не хотите возиться с командной строкой и готовы немного повозиться, установив инструмент, позволяющий создавать символические ссылки на существующий файл или каталог с помощью контекстного меню, вызываемого правой кнопкой мыши, попробуйте последующий. Link Shell Extension — это инструмент, который позволяет создавать жесткие и символические ссылки, щелкая правой кнопкой мыши любую папку, на которую вы хотите создать ссылку.

Есть несколько проблем с установкой. Вы получите предупреждение о том, что безопасное скачивание невозможно, а Защитник Windows может предупредить вас, что оно «не подписано».

Мы можем заверить вас, что инструмент безопасен. Установите его. Во время установки explorer.exe перезапустится, поэтому убедитесь, что у вас есть резервные копии важных данных.

После установки LSE щелкните правой кнопкой мыши целевой файл или папку, для которой вы хотите создать символическую ссылку, а затем нажмите "Выбрать источник ссылки".

Создать символическую ссылку Windows 10 Pick Link Source

Затем перейдите в папку, в которой вы хотите разместить символическую ссылку, щелкните ее правой кнопкой мыши и выберите «Перетащить как -> Символическая ссылка».

 Создать символическую ссылку Windows 10 Drop As

Создание символической ссылки с помощью Mklink

Примечание. Хотя я показываю это в Windows 10, показанные здесь команды применимы к Windows Vista и более поздним версиям.

Создание символических ссылок в Windows очень просто с помощью команды mklink. Чтобы начать, нажмите Win + X , затем выберите параметр «Командная строка (администратор)», чтобы открыть командную строку с правами администратора.

 create-symlinks-win10-select-command-prompt

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

В моем случае я хочу создать символическую ссылку на диске E для текстового файла, расположенного на диске F, поэтому команда выглядит примерно так:

create- symlinks-win10-for-files

Первый путь, который вы видите в приведенной выше команде, — это место, где вы создадите свою символическую ссылку. Этот путь называется «Ссылка». Второй путь относится к фактическому файлу на вашем диске и называется «Цель».

После создания символической ссылки она выглядит так в проводнике. Хотя значок выглядит как обычный ярлык, это символическая ссылка.

create-symlinks-win10-symlink-for-file-created

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

create- symlinks-win10-for-folders

Как только вы выполните команду, символическая ссылка будет создана для целевого каталога. Вы можете использовать его для доступа ко всем файлам и папкам внутри реальной папки. Если вы когда-нибудь захотите, вы можете удалить символическую ссылку, как и любой другой файл или папку. Просто выберите символическую ссылку, нажмите клавишу удаления на клавиатуре, и все готово.

create-symlinks-win10-symlink-for-folder-created

Также прочтите: Поиск и открытие файлов с помощью командной строки в Windows

И готово! Если вы хотите сделать больше скрытых настроек в Windows 10, посмотрите наш список лучших хаков реестра. Кроме того, узнайте, как выполнять пакетное переименование файлов и как получить горячие углы в стиле Mac в Windows 10.

Описывает рекомендации, расположение, значения, управление политиками и вопросы безопасности для параметра политики безопасности "Создание символических ссылок".

Ссылка

Это право пользователя определяет, могут ли пользователи создавать символическую ссылку с устройства, на котором они вошли в систему.

Символическая ссылка — это объект файловой системы, указывающий на другой объект файловой системы. Объект, на который указывает указатель, называется целью. Символические ссылки прозрачны для пользователей. Ссылки выглядят как обычные файлы или каталоги, и пользователь или приложение могут действовать точно так же. Символические ссылки предназначены для облегчения миграции и совместимости приложений с операционными системами UNIX. Microsoft реализовала символические ссылки, чтобы они функционировали точно так же, как ссылки UNIX.

Предупреждение. Эту привилегию следует предоставлять только доверенным пользователям. Символические ссылки могут выявлять уязвимости безопасности в приложениях, которые не предназначены для их обработки. Константа: SeCreateSymbolicLinkPrivilege

Возможные значения

  • Определяемый пользователем список аккаунтов
  • Не определено

Рекомендации

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

Местоположение

Конфигурация компьютера\Настройки Windows\Настройки безопасности\Локальные политики\Назначение прав пользователя

Значения по умолчанию

По умолчанию это право есть у членов группы "Администраторы".

В следующей таблице перечислены фактические и действующие значения политики по умолчанию. Значения по умолчанию также перечислены на странице свойств политики.

< tr> < /tr>
Тип сервера или объект групповой политики Значение по умолчанию
Политика домена по умолчанию< /td> Не определено
Политика контроллера домена по умолчанию Не определено
Стандартный -Настройки сервера Alone по умолчанию Не определены
Действующие настройки контроллера домена по умолчанию Администраторы
Эффективные настройки рядового сервера по умолчанию Администраторы
Эффективные настройки клиентского компьютера по умолчанию Администраторы

Управление политикой

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

Для вступления в силу этого параметра политики перезапуск устройства не требуется.

Любое изменение назначения прав пользователя для учетной записи вступает в силу при следующем входе владельца учетной записи.

Групповая политика

Параметры применяются в следующем порядке через объект групповой политики (GPO), который перезапишет параметры на локальном компьютере при следующем обновлении групповой политики:

  • Настройки локальной политики
  • Настройки политики сайта
  • Настройки политики домена
  • Настройки политики подразделения

Если локальная настройка выделена серым цветом, это означает, что объект групповой политики в настоящее время управляет этой настройкой.

Инструменты командной строки

Этот параметр можно использовать в сочетании с параметром файловой системы символьных ссылок, которым можно управлять с помощью инструмента командной строки для управления типами символических ссылок, разрешенными на устройстве. Для получения дополнительной информации введите fsutil behavior set symlinkevaluation /? в командной строке.

Соображения безопасности

В этом разделе описывается, как злоумышленник может использовать функцию или ее конфигурацию, как реализовать контрмеру и возможные негативные последствия реализации контрмеры.

Уязвимость

Пользователи с правом создания символических ссылок могут непреднамеренно или злонамеренно подвергнуть вашу систему атакам с символическими ссылками. Атаки с использованием символьных ссылок могут использоваться для изменения прав доступа к файлу, повреждения данных, уничтожения данных или в качестве DoS-атаки.

Контрмеры

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

Собираетесь создать новый ярлык? Почему бы вместо этого не сделать символическую ссылку? Это сэкономит ваше время и усилия и упростит управление файлами.

По сравнению с Linux, символические ссылки (Symlinks) — довольно новое дополнение к Windows, впервые представленное в Windows Vista. С тех пор они присутствуют.

К сожалению, большинство людей ничего не знают о символических ссылках. Давайте посмотрим, что такое символические ссылки и как их использовать в Windows 10.

Что такое символические ссылки?

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

В Windows существует два основных типа символических ссылок: жесткие ссылки и программные ссылки. В отличие от Linux, символическими ссылками в Windows называются только программные ссылки.

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

Если вы жестко свяжете файл или папку в местоположении А с файлом или папкой в ​​местоположении Б, файл или папка в местоположении Б будут выглядеть так, как будто они существуют в местоположении А.

Например, предположим, что у нас есть текстовый файл с именем "sample.txt" в каталоге C:\Programs. Если я жестко свяжу sample.txt с файлом с именем «test.txt», ОС будет рассматривать test.txt так, как если бы это был sample.txt.

По сути, все жесткие ссылки отображаются как исходный файл или каталог. Следовательно, созданные вами жесткие ссылки указывают на одно и то же место хранения на вашем жестком диске. Таким образом, если вы внесете какие-либо изменения в жесткую ссылку, эти изменения отразятся в исходном файле.

Прежде чем использовать жесткие ссылки, следует помнить, что нельзя создавать жесткие ссылки между разными дисками. Итак, если у вас есть файл, хранящийся на диске C:, ваша жесткая ссылка также должна храниться на диске C:. Это ограничение файловой системы.

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

Программные ссылки или символические ссылки

Программные ссылки работают так же, как и обычные ярлыки. Но они отличаются одним ключевым моментом: символические ссылки представляют собой адрес файла, а не сам файл. Итак, в отличие от ярлыка, символическая ссылка не является файлом.По этой же причине символические ссылки не занимают места на жестком диске, в отличие от ярлыков.

В отличие от жестких ссылок, символические ссылки не указывают на место хранения на жестком диске. Они указывают на файл или каталог, который указывает на место хранения. Поэтому, если вы хотите удалить файл, вам не нужно удалять все символические ссылки, указывающие на этот файл.

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

Когда следует использовать символическую ссылку?

Во-первых, символические ссылки работают быстрее, чем традиционные ярлыки. Поэтому на медленном компьютере следует использовать символические ссылки вместо ярлыков.

Во-вторых, бывают ситуации, когда вам нужно скопировать/вставить большой объем данных из одного места в другое. В таких ситуациях предпочтительнее создать символическую ссылку, а не копировать и вставлять. Это может сэкономить много места из-за отсутствия дубликатов файлов.

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

Настройка символических ссылок в Windows 10 с помощью командной строки

В Windows 10 вы можете настроить символические ссылки через командную строку с помощью команды mklink.

Сначала запустите командную строку, введя cmd в строке поиска меню "Пуск", затем щелкните правой кнопкой мыши наилучшее совпадение и выберите "Запуск от имени администратора".

Вы можете использовать команду mklink для создания жестких и программных ссылок. Чтобы получить обзор утилиты mklink, введите mklink и нажмите Enter. Это даст вам обзор утилиты mklink, перечислив синтаксис команды и различные параметры, связанные с ней.

Теперь давайте создадим программную ссылку на текстовый файл с помощью mklink.

Введите цель ссылки mklink, заменив «ссылка» адресом программной ссылки, которую вы хотите создать, и замените «цель» адресом исходного файла. На следующем изображении показано, как создать программную ссылку с именем «softlink.txt», которая ссылается на файл «original.txt».

Если вы хотите создать программную ссылку на папку или каталог, используйте формат mklink /D link target. Параметр «/D» создает символическую ссылку на каталог.

Создание жесткой ссылки также следует тому же процессу. Используйте ту же структуру команды mklink link target, но с параметром «/H».

На следующем изображении показано, как создать жесткую ссылку для вымышленного файла «hardlink.txt», указывающую на то же место хранения, что и «original.txt».

Если вы хотите создать жесткую ссылку на папку или каталог, используйте параметр «/J» вместо параметра «/H».

Создание символических ссылок с помощью расширения Hard Link Shell

Для начала загрузите расширение оболочки Hard Link и установите его. Убедитесь, что вы выбрали правильный пакет для вашего компьютера. Например, если у вас 64-битная ОС, загрузите 64-битную версию. Не уверены, что используете? Вот как проверить, используете ли вы 64-разрядную или 32-разрядную версию Windows.

После установки пакета перейдите к файлу или папке, для которой вы хотите создать ссылку. Щелкните файл правой кнопкой мыши и выберите "Выбрать источник ссылки" в раскрывающемся списке.

Выбрав ссылку, перейдите к папке назначения, в которой вы хотите создать ссылку. Щелкните правой кнопкой мыши пустую область и выберите Удалить символическую ссылку. Это создаст символическую ссылку с тем же именем, что и исходный файл.

Тот же метод можно использовать для создания жесткой ссылки на файл или папку. Помните, что вы можете создать жесткую ссылку только в пределах одного диска. Расширение Hard Link Shell даст вам возможность создать жесткую ссылку только в том случае, если вы находитесь на том же диске.

Выбрав ссылку, щелкните правой кнопкой мыши в любом месте диска, наведите указатель мыши на пункт «Перетащить как» и выберите «Жесткая ссылка». Это создаст жесткую ссылку на исходный файл.

Символические ссылки могут помочь вам сэкономить много места

Понятно, что не все найдут применение символическим ссылкам. Но для людей, которые любят держать все в порядке и использовать как можно меньше места для хранения, символические ссылки — отличная функция.

Таким образом, вместо того, чтобы копировать файлы в разные места, создайте символические ссылки, и все будет готово.

Читайте также: