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

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

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

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

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

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

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

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

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

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

В чем разница между символической ссылкой каталога и соединением каталогов
Соединение каталогов – это более старый тип символической ссылки, который не поддерживают 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  directo  ry junction "" c:  users  winaero  desktop  winaero "

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

Единственный способ узнать тип ссылки – использовать консольную команду dir . Откройте новое окно командной строки в папке, содержащей вашу ссылку, и выполните команду 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 hardlink list "file hard link.txt" 

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

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

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

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

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

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

Оцените статью
digitdocom.ru
Добавить комментарий