Содержание
- 1 Способы использования симлинков в Windows
- 1.1 Ситуация первая — незваные гости
- 1.2 Ситуация вторая — если у кого-то есть доступ к вашему компьютеру в локалке
- 1.3 Ситуация третья — использовать reparse-данные как скрытое хранилище
- 1.4 Ситуация четвёртая — убиваем свободное место на диске
- 1.5 Итог
- 1.6 По теме точек повторной обработки также есть следующее:
- 2 Как создавать символические ссылки (Symlinks) в системе Windows
- 3 Жесткие и символические ссылки в Windows
- 4 Создание символических ссылок (Windows 10)
- 5 Жесткие и символьные (символические) ссылки в Windows
- 6 Зачем Windows нужно два блокнота (и точно ли их два)
- 7 Что такое символические ссылки? Как создать Symlinks в Windows 10?
Способы использования симлинков в Windows
В Windows 7 есть символьные ссылки (ещё их называют символическими ссылками),или симлинки. В более ранних версиях Windows есть прототип символьныхссылок — символьная связь (junction), которая отличается тем, что можетуказывать только на диск или каталог и не поддерживает относительные пути.
Как создаются символьные ссылки? Можно для этого написать программу, а можно воспользоватьсясуществующими утилитами. В Windows 7 для этого есть консольная программа mklink.
MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение /D Создание символической ссылки на каталог. По умолчанию создается символическая ссылка на файл. /H Создание жесткой связи вместо символической ссылки. /J Создание соединения для каталога. Ссылка Имя новой символической ссылки. Назначение Путь (относительный или абсолютный), на который ссылается новая ссылка.
Кроме того, существует утилита Junction из набора программ Sysinternals.
Ситуация первая — незваные гости
Ещё ситуация: есть программа или часть программы, например база данных, которую нужно быстро уничтожить в случае прихода нежданных гостей. Но софт капризный и хочет стоять, допустим только на диске Си хранить данные строго в определённом каталоге.
Что делать, если гости всё же пришли, как быстро уничтожитьданные?Симлинки могут выручить — перенаправлять локальный путь на флешку, съёмныйдиск или по сети. В экстренном случае выдёргивается флешка или отрубается сеть,флешку можно уничтожить физически. На компе ссылка становится мёртвой,данных на самом компе нет.
Это быстрее, чем вынимать из компа жёсткий диски уничтожать его.
Ситуация вторая — если у кого-то есть доступ к вашему компьютеру в локалке
Если в локальной сети или в сети предприятия у кого-то есть доступ к вашему компьютеру, то онможет заставить вас:
- сохранять данные не туда, куда вы ожидаете;
- заставить вас запустить что-то не оттуда, откуда вы ожидаете.
Ведь никто не проверяет перед сохранением, не является ли целевая папка символьной ссылкой?Да и не сразу сообразишь, как это сделать.
Ситуация третья — использовать reparse-данные как скрытое хранилище
Cимлинки внутри устроены сложно. Внутри у них скрывается более мощный механизм — reparse points.
Из файла можно делать не только симлинк, но и вообще присоединятьпроизвольные данные, причём такой файл в системе будет выглядеть мёртвым.
На все операции с файлом система будет выдавать «Ошибка 0x80070780. Доступк этому файлу из системы отсутствует».
Ни удалить файл, ни переименовать егостандартными средствами не получиться.
Всё же в системе есть инструмент для работы с reparse-данными, доступныйв командной строке, это утилита fsutil:
Смысл в том, что догадаться о том, что файл является reparse-файломтрудно. В сообщении об ошибке не говорится ни слова про точкиповторной обработки.
Ситуация четвёртая — убиваем свободное место на диске
C помощью созданного reparse-файла спрятать сразу много данных,чтобы не нашли. Делается это так:
- Создаётся пустой файл file;
- К нему цепляется NTFS-поток file:stream. Прицепить поток к файлу можно,например, с помощью программы NTFS Stream Explorer;
- В поток записывается произвольное количество данных, можно даже пожрать всёсвободное место пользователя;
- В файл записываются reparse-данные, после чего он становится либо недоступен,либо выглядит как простой симлинк.
Фишка в том, что прицепленный потокникуда не девается, но пока у файла есть reparse-данные, поток никак обратноне извлечь и даже нельзя сказать, есть он у файла или нет.
Как же его обратно извлечь? Нужно удалить reparse-данные, file станет обратнообычным файлом, file:stream снова можно будет открыть и прочитать.То есть можно таким образом хорошо спрятать архив с чем-то секретным илиубить свободное пространство на чужом диске, пользователь ни за что не найдёт, куда оно ушло.
Итог
Стандартными средствами Windows можно лишь создавать и удалять символьные ссылки.А вот хранить в reparse-данных собственные данные — для этого уже потребуется писать программу.О том, как это делается, читайте на странице Создание точки повторной обработки собственного типа.
По теме точек повторной обработки также есть следующее:
система комментирования CACKLE
Источник: http://hex.pp.ua/using-symlinks.php
Как создавать символические ссылки (Symlinks) в системе Windows
Windows 10, 8, 7 и Vista поддерживают символические ссылки, которые указывают на файл или папку в вашей системе. Вы можете создать их с помощью командной строки или стороннего инструмента под названием Link Shell Extension.
Что такое символические ссылки
Символические ссылки – это, по сути, расширенные ярлыки. Создайте символическую ссылку на отдельный файл или папку, и эта ссылка будет выглядеть так же, как файл или папка для Windows, хотя это только ссылка, указывающая на файл или папку.
Например, предположим, что у вас есть программа, которая использует файлы в папке C:\Program. А Вам хотелось бы сохранить этот каталог в D:\Refuse, но программа требует, чтобы её файлы были в C:\Program.
Вы можете перенести исходный каталог из C:\Program в D:\Refuse, а затем создать символическую ссылку C:\Program, указав на D:\Refuse. Когда вы перезапустите программу, она попытается получить доступ к своему каталогу в C:\Program.
Windows автоматически перенаправит её на D:\Refuse, и всё будет работать так, как если бы оно было в C:\Program.
Этот трюк можно использовать для всех целей, включая синхронизацию любой папки с такими программами, как Dropbox, Google Drive и OneDrive.
Существует два типа символических ссылок: жесткая и мягкая. Мягкие символические ссылки работают аналогично стандартным ярлыкам. Когда вы открываете мягкую ссылку на папку, вы будете перенаправлены в папку, где хранятся файлы.
Однако, жесткая ссылка заставляет его выглядеть так, как будто файл или папка действительно существуют в местоположении символической ссылки, и ваши приложения не будут знать о подмене.
В большинстве ситуаций жесткие символические ссылки более полезны.
Обратите внимание, что Windows фактически не использует термины «жесткая ссылка» и «мягкая ссылка». Вместо этого используются термины «жесткая ссылка» и «символическая ссылка».
В документации Windows «символическая ссылка» – это то же самое, что «мягкая ссылка».
Тем не менее, mklink-команда может создавать как жесткие ссылки, так и софт-ссылки (известные как «символические ссылки» в Windows).
Как создать символические ссылки с mklink
Вы можете создавать символические ссылки, используя команду mklink в окне командной строки в качестве администратора. Чтобы открыть её, найдите ярлык «Командная строка» в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
В Windows Creators Update вы можете использовать обычное окно командной строки, не запуская его как администратор. Однако, чтобы сделать это без окна командной строки администратора, вы должны сначала включить режим разработчика в Параметры → Обновление и безопасность → Разработчики.
Без каких-либо дополнительных опций mklink создает символическую ссылку на файл. Команда ниже создает символическую или «мягкую» ссылку (Link) на объект Target:
mklink Link Target
Используйте /D, если вы хотите создать символическую ссылку, указывающую на каталог:
Используйте /H, если вы хотите создать жесткую ссылку, указывающую на файл:
mklink /H Link Target
Используйте /J для создания жесткой ссылки, указывающую на каталог:
mklink /J Link Target
Так, например, если вы хотите создать жесткую ссылку в C:\LinkToFolder, которая указывала бы на C:\Usersame\OriginalFolder, вы должны выполнить следующую команду:
mklink /J C:\LinkToFolder C:\Usersame\OriginalFolder
Вам нужно будет помещать в кавычки пути с пробелами. Например, если папка называется C:\Link To Folder и C:\Usersame\Original Folder, вы должны использовать следующую команду:
mklink /J «C:\Link To Folder» «C:\Usersame\Original Folder»
Если вы увидите сообщение «У вас недостаточно прав для выполнения этой операции», Вам следует запустить Командную строку как Администратор.
Как создать символическую ссылку с помощью графического инструмента
Если вы хотите создавать символические ссылки с помощью инструмента с графическим интерфейсом, загрузите Link Shell Extension. Обязательно загрузите соответствующий пакет необходимых библиотек – найдёте их на странице загрузки инструмента.
После установки найдите файл или папку, для которой вы хотите создать ссылку, щелкните её правой кнопкой мыши и выберите «Запомнить источник ссылки» в контекстном меню.
Затем вы можете щелкнуть правой кнопкой мыши в другой папке, указать на меню «Поместить как» и выбрать тип создаваемой ссылки.
Как удалить символические ссылки
Чтобы избавиться от символической ссылки, вы можете просто удалить её, как и любой другой файл или каталог. Только будьте осторожны: удаляйте ссылку, а не файл или каталог, к которому она привязана.
Источник: https://windows-school.ru/blog/kak_sozdavat_simvolicheskie_ssylki/2018-09-25-192
Жесткие и символические ссылки в Windows
Используя жёсткие ссылки файлов и каталогов, можно иметь несколько различных имён файлов или каталогов, ссылающихся на одни и те же данные. В windows механизм работает в файловой системе NTFS. Статья о том, как сделать такие ссылки в windows.
Возможно вы сталикивались со следующими задачами:
- Установить приложение или игру на HDD диск, а часть перенести на SSD.
- Перетащить данные приложения, без правки конфигурации. (пример ниже для SQL Server)
- Приложение/данные не влазят на один диск, а на другом диске как раз есть свободное место под оставшуюся часть.
Всё это можно решить используя ссылки на файлы и каталоги. Например, начиная с Windows Vista в винде отсутствует каталог «Documents and Settings» а операционная система на него ссылается из папки «Users» для совместимости с приложениями написанными для Windows XP.
Создание символической ссылки
Для создание ссылки используется команда mklink (из командной строки, кэп).mklinkСоздает символьную ссылку. MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение /D Создает символьную ссылку на каталог.
По умолчанию создается символьная ссылка на файл. /H Создает жесткую связь вместо символьной ссылки. /J Создает соединение для каталога. Ссылка Указывает имя новой символьной ссылки.
Назначение Указывает путь (относительный или абсолютный), на который ссылается новая ссылка.
Мне недавно хотелось удалить папку кеша обновлений Microsoft SQL Server, чтобы освободить 2 Гб на системном SSD диске. Вместо удаления я перенес данные на другой диск (D:).
Cоздал символьную ссылку и, вуаля, место освобождено, а SQL Server думает, что данные на прежнем на месте.
C:\>mklink /D «c:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Update Cache» «d:\distr\Sql Server\Update Cache» Символическая ссылка создана для c:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Update Cache d:\distr\Sql Server\Update Cache
Существуют инструменты для создание ссылок через графический интерфейс, например 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). Они представляют собой улучшенный вариант связей каталогов — символические ссылки могут указывать как на папки, так и на файлы, как на локальные, так и на сетевые, при этом поддерживаются относительные пути.
Источник: https://tyapk.ru/blog/post/hardlink-and-symlink-windows
Создание символических ссылок (Windows 10)
- 04/19/2017
- Время чтения: 2 мин
- Соавторы
Область применения
Описание рекомендаций, расположение, значения, политиками и рекомендации по безопасности для параметра политики безопасности Создание символических ссылок .
Справочник
Это право пользователя определяет, если пользователи могут создавать символическую ссылку на устройство, на котором они вошли в систему.
Символические ссылки — это объект файловой системы, который указывает на другой объект файловой системы. Объект, который указывает, называется целевого объекта. Символические ссылки прозрачны для пользователей.
Ссылки отображаются как обычные файлы и каталоги и их может быть выполнено пользователем или приложением точно так же. Символические ссылки предназначены для упрощения переноса и совместимости приложений с операционными системами UNIX.
Корпорация Майкрософт реализовала символических ссылок функции как ссылки UNIX.
Предупреждение: этой привилегии следует предоставлять только доверенным пользователям. Символические ссылки могут предоставлять уязвимости системы безопасности в приложениях, которые не предназначены для их обработки.Константы: SeCreateSymbolicLinkPrivilege
Возможные значения
- Пользовательские список учетных записей
- Не определен
Рекомендации
- Это право следует предоставлять только доверенным пользователям. Символические ссылки могут предоставлять уязвимости системы безопасности в приложениях, которые не предназначены для их обработки.
Назначение
Назначение компьютеров Configuration\Windows Settings\Security Settings\Local Policies\User прав
Значения по умолчанию
По умолчанию члены группы «Администраторы» имеют такое разрешение.
В следующей таблице перечислены значения по умолчанию фактические и эффективные политики. На странице свойств политики также указаны значения по умолчанию.
| Тип сервера или групповой Политики | Значение по умолчанию || — | — || Политика домена по умолчанию | Не определен|| Политика контроллера домена по умолчанию | Не определен|| Параметры по умолчанию автономного сервера | Не определен|| Параметры по умолчанию эффективной контроллера домена | Администраторы|| Параметры по умолчанию эффективной член сервера | Администраторы|| По умолчанию эффективной параметров клиентского компьютера | Администраторы|
Средства управления политикой
В этом разделе описаны различные компоненты и средства, которые помогут вам управлять этой политикой.
Перезапуск устройства не является обязательным для этого параметра политики будут эффективны.
Любые изменения назначение прав пользователя для учетной записи вступает в силу следующем входе владельцем учетной записи.
Групповая политика
Параметры применяются в следующем порядке через политики объекта Групповой политики, который будут перезаписаны параметров на локальном компьютере в следующем обновлении групповой политики:
- Параметры локальной политики
- Параметры политики сайта
- Параметры политики домена
- Параметры политики Подразделения
Если локальный параметр затенены, это означает, что объект групповой Политики в данный момент элементы управления этого параметра.
Средства командной строки
Этот параметр может использоваться в сочетании с параметром системы файл символическую ссылку, можно управлять с помощью средства командной строки для управления виды символические ссылки, которые позволяли на устройстве. Дополнительные сведения, введите задаваемой /? в командной строке.
Вопросы безопасности
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации.
Уязвимость
Пользователи, имеющие право Создание символических ссылок может случайно или намеренно предоставляют системы к атакам символическую ссылку.
Атаки символическую ссылку можно использовать, чтобы изменить разрешения на файл, для привести к повреждению данных, чтобы уничтожить данные, или в качестве атаку.
Противодействие
Не назначить пользователю Создание символических ссылок вправо для обычных пользователей. Ограничьте это право доверенными администраторами.
Чтобы установить системный параметр символическую ссылку файла, который определяет тип создаваемого символических ссылок, которые могут быть созданы на компьютере можно использовать команду fsutil .
Возможное влияние
Нет. Не определены конфигурация по умолчанию.
Статьи по теме
- Назначение прав пользователя
Источник: https://docs.microsoft.com/ru-ru/windows/security/threat-protection/security-policy-settings/create-symbolic-links
Жесткие и символьные (символические) ссылки в Windows
Если вам когда-то приходилось просматривать расположения файлов штатных программ Windows, то возможно вы замечали одну странность. Некоторые файлы приложений дублируются, причем несколько раз.
Например, в 64-разрядной Windows 8.1 обнаруживается целых 6 исполняемых файлов Блокнота notepad.exe, находящихся в разных каталогах системного раздела.
Зачем вообще нужно такое странное дублирование?
А необходимо оно для обеспечения совместимости со сторонними приложениями, использующими Блокнот для каких-то своих нужд.
Причина проста – в разных программах прописанный путь к Блокноту может отличаться, и чтобы исключить проблемы, разработчики Microsoft решили разместить notepad.exe в нескольких местах.
То же самое касается ряда других штатных приложений, например, WordPad.
Жесткие ссылки или Hard Link
На самом деле дублирование совсем необязательно должно иметь место.
То, что вы видите и определяете как реальный файл, в действительности может оказаться Hard Link — ссылкой особого типа, используемой для формирования путей к какому-нибудь файлу. Такие ссылки называются жесткими.
Любопытно, что файл в NTFS может иметь до 1023 жестких ссылок, и все они будут выглядеть как его точная копия за исключением имени и размера. Как и ярлыки, жесткие ссылки могут иметь разные имена.
Зато содержимое и атрибуты у них общие, и если вы измените их в одной такой ссылке, то изменения коснуться всех остальных ссылок, даже тех, которые были удалены в Корзину. Что касается размера жестких ссылок, то это всего лишь одна видимость.
Не имеющие практически никакого веса, ссылки этого типа определяются Проводником как имеющие реальный вес файлы, что иногда вызывает у пользователей немало вопросов и затруднений при ручной очистке ряда системных каталогов, того же Winsxs. Есть у Hard Link и свои ограничения.
Так, создавать жесткие ссылки можно только на файлы и только в пределах одного тома.
К счастью, сталкиваться с жесткими ссылками рядовым пользователям приходится нечасто, иначе это наверняка бы привело к неразберихе и серьезным проблемам. Описывать все особенности поведения жестких ссылок мы не будем, так как это заняло бы слишком много времени.
Вместо этого предлагаем вам создать Hard Link самостоятельно и поэкспериментировать с ними. Вот вам пример. Создайте на рабочем столе простой текстовый файл file1.txt и что-нибудь напишите в него. Теперь откройте командную строку и создайте на него пару жестких ссылок с именами file2.
txt и file2.txt. Вот так:
cd %userprofile%\desktop
fsutil hardlink create file2.txt file1.txt
fsutil hardlink create file3.txt file1.txt
Обратите внимание, что после команды create первым идет имя жесткой ссылки, а затем имя оригинального файла. Также вы можете создавать жесткие ссылки на другие жесткие ссылки. В общем, развлекайтесь. Уверен, что вы найдете для себя немало интересного.
Вам может быть интересно: Отключить слежение Windows 10
Символьные ссылки или Symbolic Link
В отличие от жестких, символьные ссылки или Symbolic Link обладают большей гибкостью.
Предназначаются они для удобной организации объектов файловой системы, а также оптимизации производительности приложений на SSD-дисках.
Ссылки этого типа могут создаваться и для файлов, и для каталогов, в том числе сетевых; они поддерживают связь между томами, используя относительные пути. Принципом работы символьная ссылка напоминает обычный ярлык.
Использование Symbolic Link может иметь смысл при необходимости получения доступа к одному файлу из разных мест. Создаются символьные ссылки командой mklink:
mklink D:\file2.txt %userprofile%\desktop\file1.txt
Первым после команды идет путь к символьной ссылке, вторым – путь к оригинальному файлу. Если нужно создать символьную ссылку для каталога, используется та же команда mklink, но с ключом \d.
mklink \d D:\folder2 %userprofile%\desktop\folder1
Внешне символьные ссылки почти ничем не отличаются от обычных ярлыков, за исключением пометки symlink в свойствах файла или даты создания вместо пути к оригиналу в каталоге.
Также если вы удалите оригинал, а затем попробуете перейти по символьной ссылке, то она просто не откроется, тогда как при попытке открыть битый ярлык появится сообщение о недоступности оригинального файла.
Но самое главное отличие от ярлыков в том, что при работе с символьными ссылками Windows по-прежнему будет считать, что вы работаете с оригинальным объектом.
На этом пока все. В следующий раз мы рассмотрим способ применения символьных ссылок на более конкретных примерах, а заодно узнаем, какие используются утилиты для работы с жесткими и символьными ссылками.
Источник: https://WindowsTips.ru/zhestkie-i-simvolnye-simvolicheskie-ssylki-v-windows
Зачем Windows нужно два блокнота (и точно ли их два)
В обсуждении записи про раздел реестра App Paths читатель YaNkEE подметил, что файл write.exe присутствует одновременно в папках Windows и System32. И это не единственный пример дублирования файлов. Вы можете убедиться, что в каждой из этих папок лежит по блокноту. Зачем это сделано?
Преданья старины глубокой
Два файла notepad.exe обеспечивают совместимость приложений, играя ту же роль, что и некоторые подразделы App Paths.
Увеличить рисунок
Сторонние программы
В данном случае речь идет о совместимости со сторонними программами, в которых жестко прописан путь к блокноту. Например, многие установщики программ до сих пор открывают readme.txt именно в нем, и кто его знает, как разработчики это прописали.
Все дело в том, что в Windows 3.0 местом хранения блокнота была папка Windows, а в Windows NT 3.х – папка System32.
Несмотря на то, что обе системы давно стали пыльной историей, блокнот до сих пор размещают в обеих папках.
Интересно, что делается это не во всех операционных системах Microsoft, а если и делается, то различными способами!
Реализация в разных операционных системах
В Windows XP и Windows Vista в обеих папках лежит по файлу notepad.exe.
А разработчики Windows Server 2008 решили убрать блокнот из папки Windows, оставив его только в System32.
Наверное, они сочли, что на серверной системе устанавливается меньше прикладных программ, и вероятность попадания на несовместимую программу намного ниже.
Судя по тому, что в следующих серверах от этой идеи не отказались, расчет оправдался. Любопытно, что после включения компонента Desktop Experience блокнот все-таки появляется в папке Windows (спасибо за информацию, Morpheus).
В Windows 7 и Windows 8 блокнот присутствует в обеих папках, но на диске размещен только один файл notepad.exe.
Его наличие в разных папках обеспечивают жесткие ссылки (hard links), которые и станут основными героинями сегодняшнего разговора.
Аналогично, в серверных системах после включения компонента создается именно жесткая ссылка на notepad.exe, а не копия файла.
Кстати, программа write тоже дублируется жесткой ссылкой.
Не совсем понятно, почему это решение не внедрили еще в Vista, но совершенно ясно, почему так не сделали в XP. Дело в том, что жесткие ссылки являются свойством файловой системы NTFS, а ХР можно было устанавливать еще и на FAT32.
[+] Дальше в программеКак увидеть жесткие ссылки
Символические ссылки легко определить – в файловом менеджере их видно по значку, а в результатах команды dir напротив ссылок пишется SYMLINK. Жесткие ссылки не очевидны, в прямом смысле этого слова.
Проверить уникальность блокнота можно в командной строке, запущенной от имени администратора. Команда fsutil покажет вам жесткие ссылки на файл:
fsutil hardlink list %windir%otepad.exe
Сюрприз! Блокнотов в Windows 7 не два, а четыре! Как видите, еще два обнаруживаются в папке winsxs.
А в 64-разрядной Windows 7 их вообще шесть.
Увеличить рисунок
Это связано с тем, что в папке System32 лежат 64-разрядные версии файлов, в том числе блокнот (я выделил еще одну занятную нестыковку Windows, уходящую корнями в прошлое). А в папке SysWOW64 хранится 32-разрядная версия notepad.exe, которая имеет свою жесткую ссылку в папке winsxs, в чем вы можете убедиться самостоятельно.
Внушительное количество жестких ссылок подводит нас к вопросу использования ими дискового пространства.
Сколько места на диске занимают жесткие ссылки
Нисколько! В файловой системе NTFS каждый файл можно считать жесткой ссылкой на самого себя.
На файл может ссылаться сколько угодно жестких ссылок (точнее, не больше 1023).
Они могут запускать его из разных расположений, и при этом неотличимы друг от друга в проводнике и результатах команды dir.
Физически на диске присутствует только один файл, но нестыковка между структурой файловой системы и ее отображением в оболочке порождает вопросы и даже деструктивные действия.
Самым ярким примером непонимания принципов работы и назначения жестких ссылок являются руководства по чистке папки winsxs. О ней меня недавно просил рассказать читатель блога Антон, и вот представился случай.
Не пропустите рассказы о том, как грамотно уменьшить размер папки winsxs в Windows 7 и в Windows 8 и новее.
Проводник видит папку winsxs так:
Но в реальности папка содержит немного уникальных файлов, которые изначально занимают на диске в среднем 400 Мб. Эта цифра относится к Windows Vista, и логично предположить, что в Windows 7 дело обстоит примерно так же (по крайней мере, понятен порядок цифры).
Все остальные файлы с помощью жестких ссылок проецируются в папки Windows, System32 и т.д. Появление папки winsxs связано с изменением платформы Windows, которая теперь складывается из компонентов как дом из кирпичей.
По сравнению с Windows XP такая модель упрощает развертывание и обслуживание WIM-образов. Это верно даже после установки системы, поскольку она представляет собой образ, примененный к диску.
Например, список компонентов и их состояние можно посмотреть командой
Dism /online /Get-Features
Может показаться, что зачистка папки winsxs никак не нарушает нормальную работу системы. Так, Антон лишился только русского языка в Internet Explorer, причем с его слов исключительно по невнимательности. Однако нарушения нормальной работы Windows не всегда заметны, если они происходят под капотом системы.
Для стабильной работы Windows необходимо нормальное управление компонентами, безотказное восстановление и правильное обновление.
Так, содержимое папки winsxs используется для проверки системных файлов (SFC), а хранящиеся в ней версии файлов обеспечивают подбор наиболее подходящей версии при установке и удалении обновлений.
Подробнее о назначении папки winsxs вы можете узнать из блогов создателей Windows и команды Windows Server Core (EN), а я предлагаю вернуться к разговору о жестких ссылках.
Как создать жесткие ссылки
Мы выяснили, что Microsoft использует жесткие ссылки для обеспечения совместимости (пример с блокнотами) и безотказного обслуживания операционной системы (пример с папкой winsxs). Предлагаю вам самостоятельно создать жесткие ссылки и поиграть с ними.
Жесткие ссылки необязательно должны иметь такие же имена, как файл, на который они указывают. Это легко проверить:
@echo off :: Переходим на рабочий стол cd %userprofile%\desktop :: Создаем произвольный текстовый файл echo Hello, Hard Links! > 1.txt :: Создаем жесткую ссылку на файл fsutil hardlink create 2.txt 1.txt :: Создаем жесткую ссылку на жесткую ссылку fsutil hardlink create 3.txt 2.txt pause
Все три файла имеют одинаковое содержимое и атрибуты.
Попробуйте изменить и сохранить третий файл, а потом открыть первый. Вы увидите сделанные вами изменения, хотя вы его не открывали до этого. Аналогично, если вы заблокируете изменения в любом файле атрибутом «Только для чтения», это немедленно отразится на всех ссылках.
Хотите еще поэкспериментировать? Удалите один из файлов в корзину. Теперь откройте любой из оставшихся файлов и измените его, а затем восстановите удаленный файл. Вы обнаружите в нем изменения, произошедшие за то время, что он валялся в корзине!
Кстати, вы заметили, что после удаления файла у его братьев на значке появился замок, загадка которого, похоже, до сих пор полностью не разгадана.
Замок пропадает, как только вы возвращаете файл из корзины и обновляете папку или любой из файлов.
Как ускорить свою работу с помощью ссылок
Источник: http://www.outsidethebox.ms/12735/
Что такое символические ссылки? Как создать Symlinks в Windows 10?
Symlink — также называемая символьной ссылкой или Soft link — может быть одной из самых скрытых концепций для пользователей компьютеров.
Однако это не отменяет его важность и преимущества, которые она предлагает.
Как получить доступ к папкам и файлам из разных папок без сохранения дубликатов? Да, это сила Symlink .
Что такое Symlink или Symbolic Link
Symlink — это файлы ярлыков, которые ссылаются на физический файл или папку, расположенную в другом месте.
Symlinks действуют как виртуальные файлы или папки, которые могут использоваться для связи с отдельными файлами или папками, что делает их отображаемыми, как если бы они были сохранены в папке с помощью Symlinks, хотя Symlinks указывает только на их реальное местоположение.
Не путайте Symlink как ярлыки
Важно понимать, что Symlinks — это больше, чем просто ярлыки, которые, как пользователь Windows, вы уже знаете. Файл ярлыка просто указывает на нужный файл, в то время как Symlink сделает его похожим на связанный файл. После того, как вы нажмете на Symlink, вы будете направлены в фактическое местоположение файла.
Структура Symlink
Symlink — это построение текстовой строки, которая автоматически интерпретируется и сопровождается операционной системой как путь к другому файла или каталога. Этот другой файл или каталог называется «target ».
Symlink существует независимо от цели. Если Symlink удаляется, его цель остается неизменной.
Если Symlink указывает на цель, а через некоторое время эта цель будет перемещена, переименована или удалена, символическая ссылка не будет автоматически обновляться или удаляться, но продолжает существовать и все еще указывает на старую цель.
Однако в таких Symlinks, указывающих на перемещенные или несуществующие цели, иногда называют сломанными, потерянными, мертвыми или оборванными.
Преимущества Symlinks
- Символы потребляют очень мало места и очень быстро создаются. Вы сохраняете много места на жестком диске с помощью Symlinks
- В отличие от жестких ссылок, символические ссылки могут ссылаться на файлы в файловых системах.
Помните, что если вы удалите исходный файл, жесткая ссылка все еще сохраняет его в памяти, Symlink не поддерживает
- Symlinks структуру папок, в которой содержатся ссылки.
Например, предположим, что файл txt содержится в папке «Утилита» , которая находится в /D/Myfolder/Utility/windowsclub.txt , Теперь, если в папке Dropbox была создана Symlink для папки Utility , и вы отправили поиск windowsclub.
txt в папку Dropbox, путь к файлу будет читать / D /Myfolder/Utility/windowsclub.txt Вместо преобразования обратно в исходный / фактический путь к файлу.
- Используя Symlinks, вы можете хранить медиафайлы Music / Videos на другом жестком диске, но заставляйте их отображаться в вашем стандартные папки «Музыка / », поэтому они будут обнаружены в ваших медиа-программах.
- Разработчики часто заменяют дубликаты копий общих файлов / папок с символическими ссылками на физические файлы / папки. Замена избыточных копий файлов может сэкономить значительное место на физическом диске и значительно сократить время, затраченное на проекты копирования / резервного копирования / развертывания / клонирования.
Значение символов в сегодняшнем развитии World
Как Йосеф Дурр, ведущий старший Менеджер программ, Microsoft упоминает о блоге Windows,
Многие популярные инструменты разработки, такие как git и менеджеры пакетов, такие как npm, распознают и сохраняют символические ссылки при создании репозиториев или пакетов соответственно.
Когда эти репозитории или пакеты затем восстанавливаются в другом месте, символические ссылки также восстанавливаются, обеспечивая свободное пространство на диске (и время пользователя).
Git, например, наряду с такими сайтами, как GitHub, стал основным инструментом управления кодами, используемым большинством разработчиков сегодня.
Использование менеджеров пакетов в современной разработке также взорвалось в последние годы.
Например, менеджер пакетов узлов (npm) обслуживал ~ 400 миллионов инсталляций в неделю с 1 июля 2015 года, но через год был установлен более 1,2 миллиарда инсталляций — увеличение на 3 раза всего за один год! В конце июня 2016 года npm обслуживал более 1,7 миллиарда пакетов узлов всего за семь дней!
Symlinks в Windows 10
Хотя Symlinks имеет определенные преимущества, в основном это использовалось UNIX-совместимыми операционными системами, такими как Linux, FreeBSD, OSX и т. Д.
, Где символические ссылки могут быть созданы без ограничений.
Для пользователей Windows, хотя Symlinks был доступен, начиная с Windows Vista, было сложно и утомительно создавать.
Из-за требований безопасности Windows Vista пользователям нужны права локального администратора и, что важно, пришлось запускать mlink в консоли командной строки, назначенной администратором для создания / изменения Symlinks.
Это последнее ограничение приводило к тому, что Symlinks редко использовались большинством разработчиков Windows и приводило к тому, что многие современные кросс-платформенные средства разработки работали менее эффективно и надежно в Windows.
Однако теперь с Обновление для Windows 10 Creators Update , один раз пользователь с правами администратора разрешает режим разработчика, любой на ПК может запустить команду mklink , не поднимая консоль командной строки.
Как вы создаете Symlinks
Символы могут быть созданы либо с помощью команда mklink или API CreateSymbolicLink .
Использование команды mklink
При использовании команды mklink используйте следующий синтаксис:
«mklink / prefix link_path file / folder_path «
Примечание: mklink может создавать несколько типов ссылок. Ниже приведены типы
- / D Создает символическую ссылку каталога. По умолчанию используется символическая ссылка на файл.
- / H Создает жесткую ссылку вместо символической ссылки.
- / J Создает соединение с каталогом.
Например, я создал соединение каталога моей папки «Музыка» с моим рабочий стол. См. Ниже снимок экрана —
Итак, когда я нажимаю на Symlink, он выглядит, что мои музыкальные файлы хранятся в C: Users \ Desktop Music , хотя он изначально присутствует в C : Users \ Music .
Помните, что если в вашем пути есть пробелы, вам нужно разместить кавычки вокруг него.
Использование CreateSymbolicLink
Чтобы включить новое поведение при использовании CreateSymbolicLink API, существует дополнительная опция dwFlags , вам нужно будет установить значение как:
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
Итак, выбирая указанное выше значение, вы указали флаг, чтобы разрешить создание символических ссылок, когда процесс не повышен.
Чтобы узнать больше о том, как создать Symlink с помощью API CreateSymbolicLink , посетите Windows.com.
Заключение
Можно сказать, что Symlinks являются более полезны, чем простые ярлыки, однако их немного сложно создать.
Средний пользователь ПК может все еще найти его немного страшно для создания.
Более того, даже сегодня многие пользователи очень хорошо понимают концепцию ярлыков и, следовательно, могут пытаться отличить Symlinks и понимать ее использование.
Сказав это, это почти гарантия того, что вам будет легко изменить любые настройки вы можете так, чтобы программа указывала на правильный каталог, и вы действительно не создаете Symlink, но знать, как настроить и использовать хороший Symlink, может быть очень удобно.
Источник: https://ru.joecomp.com/what-are-symbolic-links