Символические ссылки, жесткие ссылки и ссылки на каталоги в Windows 10

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

Символические ссылки могут быть очень полезны во многих ситуациях. Например, недавно я добавил к своему компьютеру SSD-накопитель и установил на нем Windows. Все мои переносные приложения остались в папке D: \ Portable, и многие из них были настроены для работы с папкой D: \ documents. Проблема заключалась в том, что до того, как я добавил этот новый SSD, путь к папкам был C: \ portable и C: \ documents.

Связывая эти две папки символической связью, я все заработал за несколько секунд. Я создал символические ссылки с именами c: \ portable и c: \ documents, не перемещая ни одного файла или папки. Еще одна интересная вещь заключается в том, что если я перемещаю свои символические ссылки в другое место, например, на диск E :, они продолжают работать и будут указывать на мои папки на диске D :.

Вот как можно создавать символические ссылки.

Для управления символическими ссылками Windows предлагает множество способов.

Самый известный инструмент — mklink. Он имеет следующий синтаксис (mklink /?):

MKLINK [[/ D] | [/ H] | [/ J]] Цель ссылки

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

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

В чем разница между символической ссылкой каталога и соединением каталогов
Соединение каталогов — это более старый тип символической ссылки, который не поддерживает пути UNC (сетевые пути, начинающиеся с \) и относительные пути. Соединения каталогов поддерживаются в Windows 2000 и более поздних версиях систем Windows на базе NT. С другой стороны, символическая ссылка на каталог также поддерживает UNC и относительные пути. Однако для них требуется как минимум Windows Vista. Таким образом, в большинстве случаев сегодня предпочтительным вариантом является символическая ссылка на каталог.

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

Как узнать, является ли файл или папка символической ссылкой
Давайте создадим все три типа символических ссылок и посмотрим, как они будут отображаться в операционной системе.
Я создам папку Winaero на своем рабочем столе и текстовый файл Winaero.txt в том же месте.
Затем я создам новую символическую ссылку и новое соединение каталогов для папки и текстового файла.

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

Следующая команда создаст новую символическую ссылку на каталог:

mklink / d "c: \ users \ winaero \ desktop \ directory symbolic link" "c: \ users \ winaero \ desktop \ winaero"

Windows 10 создает символическую ссылку на каталогСимвольную ссылку на каталог можно визуально идентифицировать по значку наложения ярлыка, добавленному к его основному значку:Значок наложения символической ссылки каталога Windows 10

Кроме того, если вы включили столбец «Атрибуты» в представлении «Подробности» проводника, вы увидите атрибут «L», который указывает, что это символическая ссылка.Атрибуты символической ссылки каталога Windows 10

Теперь давайте создадим новое соединение каталогов для папки Winaero, как показано ниже:

mklink / j "c: \ users \ winaero \ desktop \ directory junction" "c: \ users \ winaero \ desktop \ winaero"

Windows 10 создает соединение каталоговОн не имеет визуальных отличий от символической ссылки каталога в проводнике, поэтому вы не можете определить, является ли это соединением каталогов или символической ссылкой каталога:Соединение каталогов Windows 10 в проводнике

Единственный способ узнать тип ссылки — использовать команду console dir. Откройте новое окно командной строки в папке, содержащей вашу ссылку, и выполните команду dir. Смотрите вывод:Ссылки Windows 10 в выводе cmd dir

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

mklink "c: \ users \ winaero \ desktop \ file symbolic link.txt" "c: \ users \ winaero \ desktop \ winaero.txt"

Команда символической ссылки файла Windows 10Опять же, он визуально не отличается от обычного файла ярлыков, за исключением значения столбца атрибутов и типа элемента «символическая ссылка»:

Символическая ссылка на файл Windows 10 в проводнике Символическая ссылка на файл Windows 10

Иная ситуация с жесткими ссылками. Создадим один:

mklink / h "c: \ users \ winaero \ desktop \ file hard link.txt" "c: \ users \ winaero \ desktop \ winaero.txt"

Команда жесткой ссылки на файл Windows 10Жесткая ссылка не имеет визуальных отличий от обычного файла при отображении в проводнике:Жесткая ссылка на файл Windows 10 в проводнике Жесткая ссылка на файл Windows 10 на рабочем столе

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

fsutil список жестких ссылок "файл hard link.txt"

Указанная команда показывает все файлы с жесткой связью:Жесткая ссылка на файл Windows 10 в fsutil

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

Однако жесткие ссылки по-прежнему являются ссылками на другие файлы. Они не дублируют содержимое целевого файла и не занимают лишнего дискового пространства.

В Windows Vista и более поздних версиях соединения каталогов используются для связывания старых путей к папкам с файлами, таких как C: \ Documents и Settings, с новыми путями, такими как C: \ Users. Символические ссылки также используются для перенаправления C: \ Users \ All Users на C: \ ProgramData.

Начиная с Windows Vista, жесткие ссылки также широко используются Windows и ее механизмом обслуживания. Многие системные файлы представляют собой жесткие ссылки на файлы в папке Windows Component Store. Если вы запустите команду fsutil hardlink list для explorer.exe, notepad.exe или regedit.exe, вы сможете убедиться в этом сами!

Системные жесткие ссылки Windows 10В папке WinSxS хранятся различные системные файлы, которые связаны жесткими ссылками с файлами, расположенными в папках C: \ Windows, C: \ Windows \ System32 и других системных папках. При установке обновлений операционной системы файлы внутри WinSxS обновляются и снова жестко связаны с системными расположениями.

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

Теперь посмотрим, как создавать символические ссылки с помощью PowerShell.

Добавить комментарий

Ваш адрес email не будет опубликован.