Символические ссылки, жесткие ссылки и ссылки на каталоги в 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 символическая ссылка" "c: \ users \ winaero \ desktop \ winaero"
Кроме того, если вы включили столбец «Атрибуты» в представлении «Подробности» проводника, вы увидите атрибут «L», который указывает, что это символическая ссылка.
Теперь давайте создадим новый соединение каталогов для папки Winaero следующим образом:
mklink / j "c: \ users \ winaero \ desktop \ directory junction" "c: \ users \ winaero \ desktop \ winaero"
Единственный способ узнать тип ссылки - использовать консоль. реж команда. Откройте новое окно командной строки в папке, содержащей вашу ссылку, и выполните команду dir. Смотрите вывод:
Теперь давайте создадим символическая ссылка на текстовый файл Я создал. Команда выглядит следующим образом:
mklink "c: \ users \ winaero \ desktop \ file symbolic link.txt" "c: \ users \ winaero \ desktop \ winaero.txt"
Иная ситуация для жесткие ссылки. Создадим один:
mklink / h "c: \ users \ winaero \ desktop \ file hard link.txt" "c: \ users \ winaero \ desktop \ winaero.txt"
Единственный способ убедиться, что файл является жесткой ссылкой, - это использовать другую консольную утилиту, fsutil.
Запустите его следующим образом:
fsutil список жестких ссылок "файл hard link.txt"
Указанная команда показывает все файлы с жесткой связью:
Вы не можете легко увидеть, является ли файл жесткой ссылкой, потому что 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. Используя эту информацию, вы можете решить проблемы с путями, когда вы добавляете новый диск на свой компьютер или перемещаете какую-либо папку, но при этом вам нужно, чтобы она была доступна по предыдущему пути. Не стесняйтесь оставлять комментарии, если у вас есть вопросы или есть что добавить.
Теперь посмотрим как создавать символические ссылки с помощью PowerShell.