Меню Рубрики

Mklink windows 2003 server

Команда MKLINK – создание символьной ссылки на файл или каталог.

Символьная (символическая) ссылка (также симлинк от англ. Symbolic link) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Ссылка может указывать на файл, каталог или даже несуществующий файл. Основное назначение символьных ссылок – создание удобной структуры файлов и каталогов в файловой системе. Ссылки позволяют для одного файла или каталога иметь несколько имён, абсолютно никак не связанных с именами файлов или каталогов, на которые они ссылаются. На практике, символьные ссылки используются для подключения в нужное место файловой системы файлов или папок, расположенных в произвольных местах, а также для связывания содержимого с конкретным именем файла или каталога. Например, для подключения к каталогу, обслуживаемому FTP-сервером, съемного диска (флэшки) для временной раздачи по FTP. Вместо копирования содержимого флэшки, можно в домашнем каталоге сервера создать символьную ссылку, ссылающуюся на ее содержимое.

Формат командной строки MKLINK:

MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение

Параметры командной строки:

/D — Создание символической ссылки на каталог. По умолчанию создается символическая ссылка на файл.

/H — Создание жесткой связи (hard link)вместо символической ссылки.

/J — Создание соединения для каталога.

Ссылка — Имя новой символической ссылки.

Назначение — Путь (относительный или абсолютный), на который ссылается создаваемая ссылка.

mklink /? — отобразить подсказку по использованию команды.

mklink /D slnk1 D:\ — создать в текущем каталоге символьную ссылку с именем slnk1 , ссылающуюся на корневой каталог диска D:

mklink /D C:\mountpoint\ShC \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\ — создать символическую ссылку с именем ShC в каталоге mountpoint на диске C: , ссылающуюся на теневую копию (мгновенный снимок) диска.

При работе с каталогами, параметр /J и параметр /D имеют одинаковый результат.

Для удаления созданных символических ссылок можно воспользоваться стандартными командами командной строки Windows:

erase lnkfile1 — удалить символьную ссылку на файл. Сам файл, на который ссылается ссылка, не удаляется.

del lnkfile1 — то же, но с использованием команды del

rmdir C:\mountpoint\ShC — удаление символической ссылки на каталог. Сам каталог не удаляется. Обратите внимание, что использование команды del для файлов внутри каталога, на который ссылается ссылка, приводит к их удалению.

erase C:\mountpoint\ShC\lile1.txt — удалить файл из каталога, определенного символической ссылкой.

mklink /H hm histmacros.cmd — создать жесткую ссылку с именем hm , ссылающуюся на файл histmacros.cmd . Жесткие ссылки могут создаваться только в пределах одного раздела. Нельзя создать жесткую ссылку, например, командой:

mklink /H C:\mountpoints\hm D:\SCRIPTS\histmacros.cmd

И жесткая ссылка, и файл, на который она ссылается, должны быть на одном и том же логическом диске.

Источник

Жесткие и символические ссылки в Windows

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

Возможно вы сталикивались со следующими задачами:

  • Установить приложение или игру на HDD диск, а часть перенести на SSD.
  • Перетащить данные приложения, без правки конфигурации. (пример ниже для SQL Server)
  • Приложение/данные не влазят на один диск, а на другом диске как раз есть свободное место под оставшуюся часть.

Всё это можно решить используя ссылки на файлы и каталоги. Например, начиная с Windows Vista в винде отсутствует каталог «Documents and Settings» а операционная система на него ссылается из папки «Users» для совместимости с приложениями написанными для Windows XP.

Создание символической ссылки

Для создание ссылки используется команда mklink (из командной строки, кэп).

Мне недавно хотелось удалить папку кеша обновлений Microsoft SQL Server, чтобы освободить 2 Гб на системном SSD диске. Вместо удаления я перенес данные на другой диск (D:). Cоздал символьную ссылку и, вуаля, место освобождено, а SQL Server думает, что данные на прежнем на месте.

Существуют инструменты для создание ссылок через графический интерфейс, например Link Shell Extension или NTFS Link , также их можно легко сделать в Far’е по Alt+F6

Отличия жестких ссылок от символических ссылок и связей

Материал из справки Far Manager.

На разделах NTFS можно создавать жёсткие ссылки (HardLink) для файлов, связи (Junction) для папок и символические ссылки (SymLink) для файлов и папок с помощью команды Alt-F6.

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

Жёсткая ссылка (HardLink) — это просто ещё одна запись в папке для данного файла.

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

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

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

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

Связи

Эта технология позволяет отображать любые локальные папки на любые другие локальные папки. Например, если папка D:\SYMLINK указывает на C:\WINNT\SYSTEM32 в качестве своей цели, то программа, обращающаяся к D:\SYMLINK\DRIVERS, будет на самом деле обращаться к C:\WINNT\SYSTEM32\DRIVERS. В отличие от жёстких ссылок, связи папок не обязательно должны располагаться на том же диске.

В Windows 2000 нельзя напрямую создать связь, ссылающуюся на папку CD-ROM, но это ограничение можно обойти, смонтировав CD-ROM диск на папку NTFS-раздела.

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

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

Похожие записи

Обновить bash на Windows 10

Если, запуская подсистему Linux мы получаем сообщение о необходимости обновить пакеты, то можно решить проблему удалив подсистему и поставив заново. Но тогда удалятся и данные, а можно данные сохранить, проведя процедуру upgrade подсистемы linux.

Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.

Обновление баз NOD32 на компьютере без интернета

Как отключить гибернацию на windows?

Cannot start virtual machine on Virtualbox

При сообщении Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT). отключить компонент Windows — Hyper-V и перезагрузиться.

Python to exe

Про конвертер .py в .exe с использованием простого графического интерфейса, созданного с использованием Eel и PyInstaller в Python

Источник

Символические ссылки Windows – работа с MKLINK.

Как создаются и работают ссылки Windows, или что можно сделать при помощи mklink.

Внутренние символьные ссылки Windows чем-то напоминают ярлыки. Они создаются системой с единственной целью: заставить Windows думать, что папка или файл, реально или физически располагающиеся на диске (разделе) 1, нужно искать на диске (разделе) 2. При этом и создаётся ссылка, которая сохраняет все свойства при операциях с объектами – при добавлении файлов в эту папку ссылка переносит их именно в реально (физически) существующее местоположение. Таким образом, символьная или символическая ссылка Windows позволяет отображать папку C:\Директория1\ как, например, D:\Директория2\. При этом “подлога” не заметит ни вкрадчивый пользователь, ни даже служебные программы. Если для вас этого немного сложновато, то вы сейчас увидите, что таких ссылок и “поддельных” папок в Windows очень много. А некоторых директорий и системных папок, к которым мы привыкли относится как к неприкосновенным, …вообще не существует: это и есть обыкновенные для Windows символические ссылки. Созданные с их помощью “виртуальные” папки хранятся только на диске RAM.

СПРАВКА, или что такое ссылка для Windows?

Ссылка сама по себе – это цепочка символов, которая указывает/перенаправляет на объект, реально или физически существующий. Нужно различать постоянные (фиксированные, жёсткие – хардлинки) и гибкие (временные, символьные – симлинки) ссылки. Первые – когда, файл указывает на файл. Во втором случае – а это как раз наш – виртуальная папка указывает на целевую. Кроме всего, есть ещё и связующие ссылки, которые по сути являются теми же прямыми, но соединяют не файлы, а, используя различные переходы, папки и директории. При этом все папки остаются на прежних местах. Подробнее о типах ссылок в NTFS-системе – в конце статьи.

Если вы перешли на современную платформу со времён ещё Windows XP, вы можете вспомнить, что все пользовательские данные тогда хранились в одной только папке – C:\Documents and Settings. Она была отправной точкой для остальных папок и файлов. Со времён Vista базовых папок стало две: С:\Пользователи (данные программ и настроек для конкретной учётной записи) и C:\ProgramData (данные для всей системы в целом, которые разделяли все установленные в Windows Vista/7 программы и приложения: и встроенные и со стороны). Однако, с целью обеспечения обратной совместимости с приложениями для предыдущих поколений Windows, папку C:\Documents and Settings … решили пока оставить. Вот так: физически её давно уже не существует, однако в проводнике она отображена. И успешно содержит в себе две указанные выше папки нового поколения Windows. Если не очень заняты, полюбопытствуйте прямо сейчас, обратив внимание на само содержимое папок:

А вот она в Windows 7:

загляните внутрь папки Documents and Settings: ничего не замечаете?

А в Windows 10 этой папки нет? Вскроем скрытые файлы и папки:

Да нет, всё на месте:

Обратите внимание на Cвойства папки. Если вы не проводили дополнительный операций с разрешениями для папок и файлов, папку Documents and Setting вы вообще не сможете открыть. И всё по той же причине: её просто не существует, но “старым” службам и программам она необходима по определению. Так, Windows сохранила в своё время за пользователями право использовать устаревшие, но привычные (и, тем более, оплаченные по лицензии) программы. Особенно это касается пакета Microsoft Office. А та, как вы уже поняли, без папки обойтись не могла. Кстати, в этих фактах и кроется небольшая для первооткрывающих ссылки загадка: создаются они в основном для системных нужд. Вообще, все символьные ссылки в Windows делятся на две условные категории: системные связи и связи конечного пользователя. При этом по умолчанию символьные ссылки система для нас с вами не создаёт.

Чем отличаются символьные ссылки от стандартных ярлыков?

Да, на первый взгляд ничем. По крайней мере, функции очень похожи. Но, присмотревшись, разницу можно увидеть и обычному пользователю. Начать можно с того, что символьная ссылка является неким указателем, работающем на уровне файловой структуры. Ярлык – порождение конкретного процесса. То бишь Проводника (он же explorer.exe). Таким образом ярлык – реально существующий и занимающий конкретное пространство файл, а символьной ссылки как таковой не существует. Это типа такой “призрак”, системная голограмма, артефакт (он всегда весит 0 байт). В этом легко убедиться, создав ссылку и ярлык для одного объекта и посмотрев их Свойства.

Далее. Ярлык – файл, содержащий в себе конкретный путь от точки А в точку Б. Смысл его работы прост – дважды щёлкнули и перенеслись в нужном направлении. Всё: ярлык “появился” и “исчез” в ожидании следующего вызова. Символьная ссылка живёт постоянно и начинает работу вместе с включением системы. Так, щёлкнув по ярлыку, тот переносит вас к конкретному файлу или папке. Щёлкая по одноимённой символьной ссылке, создаётся впечатление, что в папке уже существует целый набор файлов. В этом (в том числе) вы можете убедиться, используя командную консоль: добраться до нужной папки вы можете, “зарядив” ссылку. В консоли такая операция с ярлыком не прокатит.

Таким образом, в отличии симлинка от обычного ярлыка и кроется её основное предназначение: Windows относится к симлинку как к настоящей папке. Т.е. разницы между ними нет. Одна и та же папка может находится сразу в нескольких местах. Представьте, что у вас есть программа, файлы которой ОБЯЗАТЕЛЬНО должны находиться по адресу C:\Program Files. Только системный диск забит и места на диске С уже нет. А вот другой диск или том под буквой, например, D полупуст. Вам нужно лишь перетащить вашу программу на диск D, создав попутно папку типа D:\Программа, создав в папке C:\Program Files симлинк на D:\Программа. И, если в вашем арсенале есть такие инструменты как виртуальный хранилища данных на манер like Dropbox, Google Drive, Яндекс.Диск или OneDrive, пространство рабочей зоны Windows можно серьёзно увеличить.

Создавая ссылки для Windows: mklink

В том виде, как вы их знаете, ссылки в Windows создаются в момент установки, что забирает львиную долю процесса инсталляции системы. Однако в числе инструментов из числа служебных утилит есть та, с помощью которой ссылки можно создавать самостоятельно. Знакомьтесь – mklink. В консоли cmd от имени администратора можно найти по утилите справку:

Итак, что видно по справке?

  • mklink может создавать ссылки не только на сами папки и файлы, но и на такие же символьные ссылки
  • если не использовать аргумент /d, будет создана символьная ссылка на файл
  • если флаг /d применяется в команде, то появится символьная ссылка на папку/директорию

Давайте на секунду остановимся. Если вы наткнулись на статью случайно, вероятно, что и пояснение по используемым флагам /D и /J из справки утилиты не сильно разъяснит ситуацию (конкретно, разницу между этими флагами команды). И, опять же, умение правильно создать символьную ссылку или указующее соединение из mklink зависит от того, верно ли вы понимаете разницу в объясняемых справкой пунктах о /D (символьной ссылке), /J (соединениях каталогов) и /H (жёсткой ссылке). Об этом – в конце статьи.

Итак, создавать “собственные папки” просто. Например, мне нужно заставить появиться некую папку Директория на диске С, которая (на самом деле) является реально существующей у меня папкой по адресу D:\hacking\Python. Так и запишем:

Если название папки содержит несколько слов с пробелами, поместите весь путь (включая имя диска) целиком в команде в кавычки “” . Далее, немного усложним задачу, для чего создадим папку, создадим в ней файл, добавим для всего этого символическую ссылку, в окончание её же и удалим. Вот команды, а вы проверьте после ввода каждой из них, что происходит на диске С: с помощью проводника.

А зачем это надо-то?

Да, казалось бы, в том варианте как описывается, разницы между созданием обычного ярлыка для файла или папки нет. Но это лишь на первый взгляд. Ну, представьте себе, что купленная только что игра требует установиться в корневую C:\Games (как обычно), требуя при том свободного места на диске С этак Гбайт 30. И при этом карта системного диска С выглядит примерно так:

Есть второй том, там ещё есть место, но что толку-то? Простым решением был бы … перенос папки C:\Games на диск, видимо, D. Вручную это делать? Безошибочно это редко удаётся. А вот команда

справится с задачей в два счёта. И оп: игра-то думает, что её установили в нужную папку. А это не так, на самом деле. Какие ещё варианты? Я не особо игрок, но для меня, обладателя огромного количества виртуальных машин, которые занимают немало пространства, в такой ситуации тоже есть свои плюсы как решить проблему нехватки пространства для кучи виртуальных Windows.

Кроме того, создание ссылки подразумевает возможность быстрого к ней обращения: фактически вы создаёт новый путь. А он может быть максимально коротким. И тут в дело вступает возможность быстрого доступа из поисковой строки. Например, на одном из томов хранятся памятные фотографии, причём доступ к ним ограничен, а путь бесконечно долог для проводника. Создадим ссылку на манер:

А теперь набираем WIN + R, вводим D:\Фотки и работаем как хотим:

Ссылки Windows из mklink: о чём следует помнить?

  • будущая ссылка и целевая папка должны быть на локальных томах; создание hard-ссылки с сетевым назначением не прокатит;
  • имя создаваемой ссылки должно быть уникальным; по существующим или зарезервированным адресам/именам утилита вернёт ошибку;
  • объединить две или более директорий одной ссылкой-папкой у меня так и не получилось;
  • переименовывать папки-ссылки можно также, как и обычные папки; они всё равно будут указывать на реально существующее местоположение целевой папки;
  • при этом Windows не делает никаких различий между “фейковой” папкой и реально существующей; файлы легко и надёжно перемещаются в папку-ссылку и обратно. Однако консоль cmd выдаёт истинную функцию папки-ссылки (созданной с флагом /j):

ссылка помечена как Junction, а не DIR

Точки стыка (жёсткие связи), соединения и символические ссылки файловой системы NTFS

Итак, в чём основные отличия связующих ссылок?

Жёсткая ссылка (hard link) – это файл, представляющий другой файл, находящийся на том же томе без дублирования его свойств. Жёстких ссылок на один файл может быть создано несколько, но на файл, находящийся в другом разделе (а тем более диске), жёсткую ссылку не поставить. Более того, жёсткие ссылки работают только с файлами – никаких директорий. Преимуществом жёсткой ссылки является тот факт, что, являясь копией настоящего, она не требует дополнительного пространства на диске. Так, если вы создали 5 ссылок на 1 файл весом 100 Мб, общий объём занимаемого места так и останется 100 Мб (а не 600 Мб). Любую из этих ссылок можно удалить, остальные и сам файл-оригинал останутся. А все изменения в файле отображаются и в ссылках.

Соединения для каталога – это ссылки на целевую директорию/папку. Соединения уже видят не только собственные тома, но и соседние разделы. Но, опять же, лишь в пределах локальной машины. Также не требуют свободного места, лишь указывая на оригинальную директорию. Если ту удалить или переместить, связи сломаются, и ссылки работать не будут. Помните историю про Documents and Settings? Это и есть пример такого соединения.

Символические ссылки появились с Windows Vista. Они представляют собой объект файловой системы, указывающий на другой объект. Это “супер-продвинутый” ярлык. И такие “ярлыки” могут указывать на любые файлы и папки в пределах локальной сети (с установленными Windows Vista и позднее). Объёмы жёсткого диска также не используются. Кроме того, связь по такой ссылке может осуществляться в виде абсолютного (полного) маршрута и относительного пути к целевой папке/файлу. Первый вариант – это всем знакомый по проводнику тип тропинки Диск:\Каталог\Подкаталог\Файл. В относительной ссылке пути к целевой директории могут перемежёвываться. Но объединяет их одно – система и программы воспринимает ссылки и цель как одно и тоже. При редактировании ссылок и цели ссылки наследуют свойства предыдущего варианта связей NTFS-системы.

Отличия между типами связей можно представить в таком виде:

Закончить можно ещё одним фактом: создание связи между файлами или каталогами в NTFS ни в коем случае не подразумевает копирование или резервирование целевых файлов или папок. И Windows не следит за состоянием цепочки: удаляете цель – получаете ошибку.

Ну, вот такая в целом ситуация с типами внутренних связей Windows. Успехов.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Mklink windows 10 не работает
  • Mklink j c windows installer e installer
  • Mk10 не запускается windows 10
  • Mixing windows and forms authentication
  • Mixed reality portal windows 10 что это