Оглавление
- Symlinks in Windows 10
- Создание символической ссылки с помощью расширения оболочки ссылки
- Что такое ссылка на файл в Linux
- Как найти и вывести все символические ссылки на диске?
- Symbolic Links Can Help You Save a Lot of Storage
- Как создать символическую ссылку в Windows?
- Симлинки в Windows 10
- When Should You Use a Symlink?
- Ln Command in Linux (Create Symbolic Links)
- Как использовать команду
- Создание символической ссылки на файл
- Как найти и вывести все символические ссылки на диске?
- Как создать и удалить переходную ссылку в Windows 10
- Сколько места на диске занимают жесткие ссылки
- Создавая ссылки для Windows: mklink
Symlinks in Windows 10
Although Symlinks have distinct advantages, it was primarily utilized by UNIX-compatible operating systems like Linux, FreeBSD, OSX, etc., where symlinks can be created without restrictions. For Windows users, although Symlinks was made available starting from Windows Vista, it was difficult and tedious to create.
Because of Windows Vista’s security requirements, users needed local admin rights and, importantly, had to run mlink in a command-line console elevated as administrator to create/modify Symlinks. This latter restriction resulted in Symlinks being infrequently used by most Windows developers and caused many modern cross-platform development tools to work less efficiently and reliably on Windows.
However, now with Windows 10 Creators Update, once a user with admin rights enables Developer Mode, anybody on the PC can run the the mklink command without elevating a command-line console.
How do you create Symlinks
Symlinks can be created either using the mklink command or the CreateSymbolicLink API.
Using mklink command
While using mklink command, use the below syntax:
“mklink /prefix link_path file/folder_path”
Note: mklink can create several types of links. Below are the types-
- /D Creates a directory symbolic link. The default is a file symbolic link.
- /H Creates a hard link instead of a symbolic link.
- /J Creates a Directory Junction.
For instance, I created a directory junction of my Music folder to my desktop. Refer the below screenshot-
So when I click on the Symlink, it looks that my music files are stored in C:\Users\<username>\Desktop\Music although it is originally present in C:\Users\<username>\Music.
Remember, if your path has any spaces in it, then you need to place quotes around it.
Using CreateSymbolicLink
To enable the new behavior when using the CreateSymbolicLink API, there is an additional dwFlags option you will need to set the value as:
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
So by choosing the above value, you have specified the flag to allow the creation of symbolic links when the process is not elevated.
To read more on how to create Symlink using CreateSymbolicLink API, visit .
Read: Create Hardlinks, Symbolic Links, Junctions, Volume Mountpoints.
Conclusion
It can be said that Symlinks are more useful than mere shortcuts however they are a bit difficult to create. An average PC user may still find it little scary to create. What more, even today, many users struggle to understand the concept of shortcuts well and hence may struggle to differentiate Symlinks and understand its use.
Having said that, it is almost a guarantee that you will find it easy to change whatever settings you can so that a program is pointing to the right directory, and you don’t really create a Symlink, but knowing how to set up and use a good Symlink can be really handy.
Создание символической ссылки с помощью расширения оболочки ссылки
Если вы не хотите возиться с командной строкой и готовы немного подурачиться, установив инструмент, который позволяет создавать символические ссылки на существующий файл или каталог с помощью контекстного меню, вызываемого правой кнопкой мыши, тогда попробуйте следующее. Link Shell Extension — это инструмент, который позволяет создавать жесткие ссылки и символические ссылки, щелкая правой кнопкой мыши любую папку, на которую вы хотите создать ссылку.
Есть несколько обручей с установкой. Вы получите предупреждение о том, что его нельзя безопасно загрузить, а Защитник Windows может предупредить вас, что он «неподписанный».
Можем заверить вас, что инструмент безопасен. Идите и установите его. Во время установки explorer.exe перезапустится, поэтому убедитесь, что у вас есть резервные копии важных данных.
После установки LSE щелкните правой кнопкой мыши целевой файл или папку, на которую вы хотите создать символическую ссылку, затем нажмите «Выбрать источник ссылки».
Затем перейдите в папку, в которой должна появиться символическая ссылка, щелкните ее правой кнопкой мыши и выберите «Перетащить как -> символическая ссылка».
Что такое ссылка на файл в Linux
Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.
Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга
Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок
Что такое символические ссылки
Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).
Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).
Важно понимать, что символическая ссылка не содержит в себе внутри копии самого файла, на которую она указывает. Она является всего лишь указателем на файл
Не смотря на это, символическая ссылка обладает собственными правами доступа, так как сама является небольшим файлом, который содержит путь до целевого файла.
Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.
Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.
Если удалить файл, на который указывает ссылка, то сама ссылка не обновляется и остается на диске. При этом она указывает на уже несуществующий файл. Аналогично, если переименовать или переместить целевой файл, то ссылка не обновляется автоматически.
При создании символических ссылок можно указывать относительный путь до целевого файла. В таком случае ссылка считает, что относительный путь указан относительно каталога, в котором создана сама ссылка (но не относительно каталога, из которого она была создана).
Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:
Что такое жесткие ссылки
Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.
Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.
В Linux каждый файл имеет уникальный идентификатор — индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.
Жесткие ссылки нельзя создавать для директорий.
Жесткая ссылка не может указывать на несуществующий файл.
Жесткие ссылки появились раньше, чем символические, но сейчас уже устаревают. В повседневной работе жесткие ссылки используются редко.
Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:
Отличия символических ссылок от жестких
Кратко подведем итог, написанного выше.
Символическая ссылка:
- Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
- Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
- Имеет собственные права доступа, которые не распространяются на целевой файл.
- Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
- Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
- Может быть создана для директории.
- Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
- Может указывать на несуществующий файл.
- Символическая ссылка может использовать относительный путь до целевого файла.
Жесткая ссылка:
- Является своего рода еще одним именем на файл.
- Не может указывать на директорию.
- Нельзя создавать жесткие ссылки между файлами разных файловых систем.
- Не может указывать на несуществующий файл.
- Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.
Как найти и вывести все символические ссылки на диске?
В Windows нет простых инструментов для просмотра и управления всеми симлинками на диске.
Вы можете вывести список всех символических ссылок на диске с помощью команды:
dir /AL /S C:\ | find «SYMLINK»
- /A – вывести файлы с атрибутом L (симлинк);
- /S –выполнить команду рекурсивно для всех вложенных каталогов;
- C:\ — укажите имя диска, на котором нужно найти все символические ссылки (если вы не хотите сканировать весь диск, укажите путь к нужному каталогу)
Также можно вывести список всех символических ссылок на диске с помощью PowerShell. Для этого нужно просканировать все каталоги и найти NTFS объекты с атрибутом ReparsePoint:
Get-ChildItem -Path C:\ -Force -Recurse -ErrorAction ‘silentlycontinue’ | Where
Symbolic Links Can Help You Save a Lot of Storage
Understandably, not everyone will find a use for symbolic links. But for people that like to keep everything tidy while using as little storage as possible, symbolic links are an awesome feature.
So, instead of copying files to different locations, create symbolic links, and you will be good to go.
How to Find and Fix Broken Symlinks in Linux
Broken symbolic links can lead to performance problems in Linux. Here’s how to find and fix broken symlinks.
Read Next
About The Author
Fawad Murtaza
(50 Articles Published)
Fawad is a full-time freelance writer. He loves technology and food. When he is not eating or writing about Windows, he is either playing video games or daydreaming about traveling.
More
From Fawad Murtaza
Как создать символическую ссылку в Windows?
Для создания символических и жестких ссылок в Windows можно использовать встроенную утилиты mklink или PowerShell.
Синтаксис у утилиты mklink простой. Чтобы создать символическую ссылку на файл, нужно указать имя ссылки и целевой объект, на который она должна указывать. Можно указать тип ссылки: /D — символьная (мягкая) ссылка на каталог, /H — жесткая ссылка, /J – точка соединения (Junction point).
Если вам нужно разрешить создавать символические ссылки обычным пользователям, нужно добавить группу пользователей в параметр групповой политики Create Symbolic Links (Computer configuration -> Window Settings -> Security settings -> User Rights Assignment в редакторе GPO). По умолчанию в этой политике добавлена только локальная группа «Administrators». Обновите локальные политики после изменения параметра: gpupdate /force
Создадим в каталоге C:\PS символическую ссылку на файл notepad.exe:
mklink C:\PS\note.exe c:\Windows\System32\notepad.exe
Должно появится сообщение:
Теперь для запуска процесса notepad.exe можно использовать символическую ссылку note.exe.
Теперь создадим в этом каталоге симлинк на другой каталог на этом же диcке:
mklink /D “C:\PS\Downloads” “C:\Users\user\Downloads”
Теперь при переходе в каталог C:\PS\Downloads вы будете видеть содержимое каталога, на который он ссылается.
Выведем содержимое каталога C:\PS:
Как вы видите, в атрибутах некоторых файлов указано, что это symlink/simlinkd. Также указан объект, на который они ссылаются. В Windows File Explorer симлинки отображаются с иконками ярлыков, а в их свойствах можно посмотреть целевой объект на который они ссылаются.
Также можно создать символически ссылки в Windows 10 с помощью PowerShell (в этом примере я использую относительные пути, чтобы создать символическую ссылку):
New-Item -ItemType SymbolicLink -Path «.\test\tmpfiles» -Target «..\tmp\files»
Можно создать символическую ссылку на сетевую папку на удаленном компьютере/сервере. Адрес сетевой папки нужно указывать в формате UNC. Следующий пример создаст симлинк на сетевой каталог на сервере:
mklink /D c:\ps\share \\mskfs01\Share
Например, подключим административную шару C$ с удаленного компьютера по IP адресу:
mklink /D c:\remotePC\server1 \\192.168.31.15\С$
Если при доступе к сетевой папке через симлинк, вы получили ошибку
проверьте разрешенные способы использования символических ссылок на вашем компьютере:
fsutil behavior query SymlinkEvaluation
Чтобы включить использование символических ссылок на удаленные ресурсы, выполните команды:
fsutil behavior set SymlinkEvaluation R2R:1fsutil behavior set SymlinkEvaluation R2L:1
Вы можете работать с символическими ссылками, как с обычными объектами файловой системы, можно переименовать, переносить или удалить их. Система автоматически изменит настройки таких симлинков, чтобы они указывали на верные целевые объекты.
Для удаления симлинков используются обычные команды, как и для удаления файлов:
Del c:\ps\note.exeRD c:\ps\downloads
Симлинки в Windows 10
Хотя символические ссылки имеют явные преимущества, они в основном использовались UNIX-совместимыми операционными системами, такими как Linux, FreeBSD, OSX и т. Д., Где символические ссылки могут создаваться без ограничений. Для пользователей Windows, хотя Symlinks стали доступны начиная с Windows Vista, их было сложно и утомительно создавать.
Из-за требований безопасности Windows Vista пользователям требовались права локального администратора, и, что важно, им нужно было запускать mlink в консоли командной строки с повышенными правами администратора для создания/изменения символических ссылок. Это последнее ограничение привело к тому, что Symlinks редко использовалось большинством разработчиков Windows, а многие современные кроссплатформенные инструменты разработки работали в Windows менее эффективно и надежно.. Однако теперь с Windows 10 Creators Update , когда пользователь с правами администратора включает режим разработчика, любой пользователь ПК может запустить команду mklink , не поднимая консоль командной строки
,
Однако теперь с Windows 10 Creators Update , когда пользователь с правами администратора включает режим разработчика, любой пользователь ПК может запустить команду mklink , не поднимая консоль командной строки. ,
Как вы создаете символические ссылки
Символьные ссылки можно создавать с помощью команды mklink или CreateSymbolicLink API .
Использование команды mklink
При использовании команды mklink используйте следующий синтаксис:
«mklink/prefix link_path file/folder_path»
Примечание: mklink может создавать ссылки нескольких типов. Ниже приведены типы
- /D Создает каталог символическую ссылку. По умолчанию используется символическая ссылка на файл.
- /H Создает жесткую ссылку вместо символической ссылки.
- /J Создает перекрестный каталог.
Например, я создал место соединения моей папки Music с моим рабочим столом. Смотрите скриншот ниже
Поэтому, когда я нажимаю на символическую ссылку, похоже, что мои музыкальные файлы хранятся в C: \ Users \\ Desktop \ Music , хотя изначально они присутствовали в C: \ Users \\ Music .
Помните, что если на вашем пути есть пробелы, то вам нужно поместить кавычки вокруг него.
Использование CreateSymbolicLink
Чтобы включить новое поведение при использовании API CreateSymbolicLink, есть дополнительная опция dwFlags , которую вам нужно будет установить как:
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
Таким образом, выбрав указанное выше значение, вы указали флаг, разрешающий создание символических ссылок, когда процесс не повышен.
Чтобы узнать больше о том, как создать Symlink с помощью API-интерфейса CreateSymbolicLink , посетите windows.com.
Заключение
Можно сказать, что символические ссылки более полезны, чем простые ярлыки, однако их немного сложно создать. Обычному пользователю ПК все еще может быть немного страшно создавать. Более того, даже сегодня многие пользователи изо всех сил пытаются хорошо понять концепцию ярлыков и, следовательно, могут изо всех сил пытаться дифференцировать Symlinks и понять, как они используются.
Сказав это, вы почти гарантируете, что вам будет легко изменить любые возможные настройки, чтобы программа указывала на правильный каталог, и вы на самом деле не создаете символическую ссылку, а знаете, как ее настроить и использовать. хорошая символическая ссылка может быть очень полезной.
When Should You Use a Symlink?
First, symlinks are faster than traditional shortcuts. Therefore, on a slow computer, you should use symlinks instead of shortcuts.
Second, there are situations when you have to copy/paste a large amount of data from one location to another. In such situations, it is preferable to create a symlink rather than copying and pasting. This can save a lot of storage owing to the lack of duplicate files.
Finally, some programs require you to have files present at a certain location on the storage drive. For instance, OneDrive only syncs files that are present in the OneDrive directory. By using a symlink, you can sync any file regardless of its location on your computer.
Ln Command in Linux (Create Symbolic Links)
11 Января 2020
|
Терминал
Символическая ссылка, также известная как символическая ссылка или программная ссылка, представляет собой специальный тип файла, который указывает на другой файл или каталог.
В системах Linux / UNIX есть два типа ссылок:
- Hard links . Вы можете придумать жесткую ссылку как дополнительное имя для существующего файла. Жесткие ссылки связывают два или более имен файлов с одним и тем же индексом . Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.
- Soft links. Это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог в другой файловой системе или разделе.
Как использовать команду
утилита командной строки для создания ссылок между файлами По умолчанию команда создает жесткие ссылки. Чтобы создать символическую ссылку, используйте параметр ( ).
Синтаксис команды для создания символических ссылок выглядит следующим образом :
- Если оба и приведены, создаст ссылку из файла , указанного в качестве первого аргумента ( ) в файл , указанный в качестве второго аргумента ( ).
- Если в качестве аргумента указан только один файл или второй аргумент является точкой ( ), будет создана ссылка на этот файл в текущем рабочем каталоге . Имя символической ссылки будет таким же, как и имя файла, на который она указывает.
По умолчанию в случае успеха не выводит никаких данных и возвращает ноль.
Создание символической ссылки на файл
Чтобы создать символическую ссылку на данный файл, откройте свой терминал и введите:
Замените на имя существующего файла, для которого вы хотите создать символическую ссылку, и на имя символической ссылки.
Параметр является необязательным. Если вы не укажете символическую ссылку, команда создаст новую ссылку в вашем текущем каталоге:
В следующем примере мы создаем символическую ссылку с именем файла :
Чтобы убедиться, что символическая ссылка была успешно создана, используйте команду:
Вывод будет выглядеть примерно так:
Символ представляет собой флаг типа файла, который представляет символическую ссылку. В символ показан файл символическая ссылка указывает.
Команда для создания символической ссылки на каталог такая же, как и при создании символической ссылки на файл. Укажите имя каталога в качестве первого параметра и символическую ссылку в качестве второго параметра.
Например, если вы хотите создать символическую ссылку из каталога в каталог, вы должны выполнить:
Если вы попытаетесь создать символическую ссылку, которая уже существует , команда выведет сообщение об ошибке.
Чтобы перезаписать путь назначения символической ссылки, используйте параметр ( ).
Чтобы удалить символические ссылки, используйте команду или .
Синтаксис очень прост:
Удаление символической ссылки с помощью команды аналогично удалению файла:
Независимо от того, какую команду вы используете, при удалении символической ссылки не добавляйте косую черту в конце ее имени.
Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным) и должен быть удален.
Для получения дополнительной информации о команде посетите страницу руководства ln или введите свой терминал.
Как найти и вывести все символические ссылки на диске?
В Windows нет простых инструментов для просмотра и управления всеми симлинками на диске.
Вы можете вывести список всех символических ссылок на диске с помощью команды:
dir /AL /S C:\ | find «SYMLINK»
- /A – вывести файлы с атрибутом L (симлинк);
- /S –выполнить команду рекурсивно для всех вложенных каталогов;
- C:\ — укажите имя диска, на котором нужно найти все символические ссылки (если вы не хотите сканировать весь диск, укажите путь к нужному каталогу)
Также можно вывести список всех символических ссылок на диске с помощью PowerShell. Для этого нужно просканировать все каталоги и найти NTFS объекты с атрибутом ReparsePoint:
Get-ChildItem -Path C:\ -Force -Recurse -ErrorAction ‘silentlycontinue’ | Where
Как создать и удалить переходную ссылку в Windows 10
Вы, наверное, слышали о символических ссылках и их полезности.
Вы можете создать символическую ссылку в Windows, Mac и Linux.
Символьные ссылки более эффективны, и поэтому вы должны быть более осторожны, когда имеете дело с ними.
Ссылка другого типа, которую вы можете создать между папками / местоположениями, – это переходная ссылка.
Соединительная ссылка – это своего рода подмножество или разновидность символической ссылки.
Вот как вы можете создавать и удалять переходные ссылки в Windows 10.
Правила
- Создана между папками. Она не может быть создан между файлами.
- Может быть создана только между локальными дисками, т.е. не между сетевыми дисками и локальными дисками
Создать ссылку соединения
Чтобы создать соединение, вам нужно сначала решить, где вы хотите создать ссылку на соединение, и на какую папку вы хотите, чтобы она ссылалась.
Целевая папка должна уже существовать, т.е. команда junction не создаст папку для вас.
Ради этого руководства мы собираемся создать переходную ссылку на папку на диске D.
Эта папка называется «Target folder».
Мы собираемся сделать ссылку на него из подпапки на диске C.
Соединительная ссылка будет создана в;
Откройте командную строку с правами администратора и выполните следующую команду.
Обратите внимание, что вы не должны создавать папку «Target» в «Path to junction link». Вместо этого вы должны указать это только в команде
Вместо этого вы должны указать это только в команде.
Кроме того, имя ссылки не обязательно должно совпадать с целевой папкой.
Вы можете назвать ссылку как угодно и связать ее с нужной вам папкой.
Нажмите Enter, чтобы создать ссылку соединения.
Удалите ссылку соединения
Есть два способа удалить ссылку соединения.
Вы можете выбрать ее и нажать клавишу удаления на клавиатуре или удалить его из командной строки.
Откройте командную строку с правами администратора и выполните следующую команду.
Удаление соединительной ссылки не удалит папку, на которую она ссылается, и не удалит ни один из файлов в целевой папке.
Из коробки нет никакого способа создать переходную ссылку, как удалить ссылку через графический интерфейс, однако, если вы не боитесь создавать переходные ссылки, вы можете найти приложения, которые предоставляют вам простой графический интерфейс для их создания.
Внутренние символьные ссылки Windows чем-то напоминают ярлыки. Они создаются системой с единственной целью: заставить Windows думать, что папка или файл, реально или физически располагающиеся на диске (разделе) 1, нужно искать на диске (разделе) 2. При этом и создаётся ссылка, которая сохраняет все свойства при операциях с объектами – при добавлении файлов в эту папку ссылка переносит их именно в реально (физически) существующее местоположение. Таким образом, символьная или символическая ссылка Windows позволяет отображать папку C:\Директория1\ как, например, D:\Директория2\. При этом “подлога” не заметит ни вкрадчивый пользователь, ни даже служебные программы. Если для вас этого немного сложновато, то вы сейчас увидите, что таких ссылок и “поддельных” папок в Windows очень много. А некоторых директорий и системных папок, к которым мы привыкли относится как к неприкосновенным, …вообще не существует: это и есть обыкновенные для Windows символические ссылки. Созданные с их помощью “виртуальные” папки хранятся только на диске RAM.
Сколько места на диске занимают жесткие ссылки
Нисколько! В файловой системе NTFS каждый файл можно считать жесткой ссылкой на самого себя. На файл может ссылаться сколько угодно жестких ссылок (точнее, не больше 1023). Они могут запускать его из разных расположений, и при этом неотличимы друг от друга в проводнике и результатах команды dir.
Самым ярким примером непонимания принципов работы и назначения жестких ссылок являются руководства по чистке папки winsxs. О ней меня недавно просил рассказать читатель блога Антон, и вот представился случай.
Проводник видит папку winsxs так:
Но в реальности папка содержит немного уникальных файлов, которые изначально занимают на диске в среднем 400 Мб. Эта цифра относится к Windows Vista, и логично предположить, что в Windows 7 дело обстоит примерно так же (по крайней мере, понятен порядок цифры).
Все остальные файлы с помощью жестких ссылок проецируются в папки Windows, System32 и т.д. Появление папки winsxs связано с изменением платформы Windows, которая теперь складывается из компонентов как дом из кирпичей. По сравнению с Windows XP такая модель упрощает развертывание и обслуживание WIM-образов. Это верно даже после установки системы, поскольку она представляет собой образ, примененный к диску. Например, список компонентов и их состояние можно посмотреть командой
Dism /online /Get-Features
Может показаться, что зачистка папки winsxs никак не нарушает нормальную работу системы. Так, Антон лишился только русского языка в Internet Explorer, причем с его слов исключительно по невнимательности. Однако нарушения нормальной работы Windows не всегда заметны, если они происходят под капотом системы.
Так, содержимое папки winsxs используется для проверки системных файлов (SFC), а хранящиеся в ней версии файлов обеспечивают подбор наиболее подходящей версии при установке и удалении обновлений.
Подробнее о назначении папки winsxs вы можете узнать из блогов создателей Windows и команды Windows Server Core (EN), а я предлагаю вернуться к разговору о жестких ссылках.
Создавая ссылки для Windows: mklink
В том виде, как вы их знаете, ссылки в Windows создаются в момент установки, что забирает львиную долю процесса инсталляции системы. Однако в числе инструментов из числа служебных утилит есть та, с помощью которой ссылки можно создавать самостоятельно. Знакомьтесь – mklink. В консоли cmd от имени администратора можно найти по утилите справку:
Итак, что видно по справке?
- mklink может создавать ссылки не только на сами папки и файлы, но и на такие же символьные ссылки
- если не использовать аргумент /d, будет создана символьная ссылка на файл
- если флаг /d применяется в команде, то появится символьная ссылка на папку/директорию
Давайте на секунду остановимся. Если вы наткнулись на статью случайно, вероятно, что и пояснение по используемым флагам /D и /J из справки утилиты не сильно разъяснит ситуацию (конкретно, разницу между этими флагами команды). И, опять же, умение правильно создать символьную ссылку или указующее соединение из mklink зависит от того, верно ли вы понимаете разницу в объясняемых справкой пунктах о /D (символьной ссылке), /J (соединениях каталогов) и /H (жёсткой ссылке). Об этом – в конце статьи.
Итак, создавать “собственные папки” просто. Например, мне нужно заставить появиться некую папку Директория на диске С, которая (на самом деле) является реально существующей у меня папкой по адресу D:\hacking\Python. Так и запишем:
Если название папки содержит несколько слов с пробелами, поместите весь путь (включая имя диска) целиком в команде в кавычки “” . Далее, немного усложним задачу, для чего создадим папку, создадим в ней файл, добавим для всего этого символическую ссылку, в окончание её же и удалим. Вот команды, а вы проверьте после ввода каждой из них, что происходит на диске С: с помощью проводника.