Ms-dos and windows command line mklink command

Алан-э-Дейл       30.08.2023 г.

Create Symbolic Link Using Link Shell Extension

If you don’t want to faff around in the Command Prompt and are prepared to faff around a little bit by installing a tool that lets you create symlinks to an existing file or directory using the right-click context menu, then try the following. Link Shell Extension is a tool that lets you create hardlinks and symbolic links by right-clicking whatever folder you want to create a link to.

There are a few hoops with the installation. You’ll get a warning that it can’t be downloaded securely, and Windows Defender may warn you that it’s “unsigned.”

We can assure you that the tool is safe. Go ahead and install it. During installation, explorer.exe will restart, so make sure you have important stuff backed up.

Once LSE is installed, right-click the target file or folder you want to create a symlink to, then click “Pick Link Source.”

Next, go to the folder where you want the symlink to appear, right-click it, then select “Drop As -> Symbolic Link.”

Зачем вам нужны ссылки?

В общем случае рекомендуется создавать символические ссылки вместо ярлыков, если вы хотите:

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

Скорее всего, вы встретите много других вариантов использования символических ссылок.

What is a symbolic link?

If you’ve been using Windows for quite some time, chances are good that you create and use shortcuts regularly. Shortcuts can save you time and effort when it comes to quickly accessing applications or folders. While creating and using these types of standard shortcuts is simple, Windows also comes with a little command-line tool call MKLink, which allows you to create a more advanced type of shortcut called a symbolic link.

More specifically, a symbolic link is a file system object that points to another file system object. The object can be either a file or a folder. Symbolic links are transparent to users—the links appear as normal files or folders and can be accessed by applications and users in exactly the same manner. Keep this thought in mind as we explore MKLink tool.

Portable Symbolic Link Creator

Portable Symbolic Link Creator, as the name suggests, is another free and portable symlink creator software for Windows. With the help of this software, you can create symlinks, hard links, and directory links of both files and folders. It uses Windows built-in functions which are normally accessible through the command line to create symlinks. Basically, it is just a graphical interface for the Windows inbuilt functions for those users who don’t want to create symlinks through the command line.

To create symlink, first, select symlink type (files/folder) and then type of link (symbolic link, hard link, and directory junction) from the interface. After that, provide the path of output folder (where you want to create the shortcut) in link file input box. Now, enter the path of a file or folder whose symlink you want to create in destination file input box. Lastly, press the create link button to create the selected link type.

Windows

Write a Comment

Setting Up Symlinks on Windows 10 Using Command Prompt

On Windows 10, you can set up symlinks through the Command Prompt using the mklink command.

First up, launch the Command Prompt by typing cmd in the Start menu search bar, then right-click the Best Match and select Run as administrator.

You can use the mklink command to create hard and soft links. To get an overview of the mklink utility, type mklink and press Enter. This will give you an overview of the mklink utility by listing the command syntax and the different options associated with it.

Now, let’s create a soft link to a text file using mklink.

Type mklink link target, replacing “link” with the address of the soft link that you want to create, and replace “target” with the address of the original file. The following image shows how to create a soft link named “softlink.txt” that references a file “original.txt.”

If you want to create a soft link to a folder or directory, use the format mklink /D link target. The “/D” option creates a symlink to a directory.

Creating a hard link also follows the same process. Use the same mklink link target command structure but with the “/H” option.

The following image shows how to create a hard link for the fictional “hardlink.txt” file, pointing to the same storage location as “original.txt.”

If you want to create a hard link to a folder or a directory, use the “/J” option instead of the “/H” option.

How to Create Symbolic Links with a Graphical Tool

If you’re like to do this with a graphical tool, download Link Shell Extension. Be sure to download the appropriate prerequisite package before the tool itself—both are linked to on the tool’s download page.

Once it’s installed, locate the file or folder you want to create a link to, right-click it, and select “Pick Link Source” in the menu.

Advertisement

You can then right-click inside a different folder, point to the “Drop As” menu and select “Hardlink” to create a hard link to a file, “Junction” to create a hard link to a directory, or “Symbolic Link” to create a soft link to a file or directory.

My CurrentWork example

Back in the Windows 2000 days, I developed my CurrentWork folder-management technique to reduce the amount of time I spent navigating my detailed folder organizational structure. To do so, I used a command-line tool called Linkd.exe from the Windows 2000 Resource Kit. However, because the MKLink tool comes with Windows 10, anyone can use it.

To implement my technique in Windows 10, I use MKLink to generate a symbolic link that creates the C:\ CurrentWork folder and redirects it to a folder deeply nested in the folder structure I use to keep my work organized. For example, the target folder could have the path:

C:\Users\Greg\Documents\1) My Work\1-Writing\1) TechRepublic\1) Articles\2017\10) October 17\10-2

As I finish an article, I remove that symbolic link and create a new one for the next article. Of course, this means that the target folder is always changing as I move from week to week. However, once I create the new symbolic link, the only folder name I have to navigate to when opening, saving, or copying files related to the assignment is the C:\ CurrentWork folder. This has saved me an immeasurable amount of time and frustration.

For example, before writing this article, I used the command:

Mklink /J C:\CurrentWork "C:\Users\Greg\Documents\1) My Work\1-Writing\1) TechRepublic\1) Articles\2017\10) October 17\10-2"

Since I’m working on the command line and the target path contains long names with spaces, I have to enclose the target path in double quotes. But even though the path is long, while I was working on this article, the only folder I had to remember was CurrentWork.

Microsoft Weekly Newsletter

Be your company’s Microsoft insider by reading these Windows and Office tips, tricks, and cheat sheets.
Delivered Mondays and Wednesdays

Sign up today

Что такое ссылка на файл в Linux

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

Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга

Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок

Что такое символические ссылки

Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).

Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).

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

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

Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.

Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.

Если удалить файл, на который указывает ссылка, то сама ссылка не обновляется и остается на диске. При этом она указывает на уже несуществующий файл. Аналогично, если переименовать или переместить целевой файл, то ссылка не обновляется автоматически.

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

Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:

Что такое жесткие ссылки

Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.

Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.

В Linux каждый файл имеет уникальный идентификатор — индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.

Жесткие ссылки нельзя создавать для директорий.

Жесткая ссылка не может указывать на несуществующий файл.

Жесткие ссылки появились раньше, чем символические, но сейчас уже устаревают. В повседневной работе жесткие ссылки используются редко.

Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:

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

Кратко подведем итог, написанного выше.

Символическая ссылка:

  • Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
  • Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
  • Имеет собственные права доступа, которые не распространяются на целевой файл.
  • Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
  • Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
  • Может быть создана для директории.
  • Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
  • Может указывать на несуществующий файл.
  • Символическая ссылка может использовать относительный путь до целевого файла.

Жесткая ссылка:

  • Является своего рода еще одним именем на файл.
  • Не может указывать на директорию.
  • Нельзя создавать жесткие ссылки между файлами разных файловых систем.
  • Не может указывать на несуществующий файл.
  • Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.

Create Symbolic Link Using Mklink

Note: though I’m showing this in Windows 10, the commands shown here are applicable to Windows Vista and up.

Creating symlinks in Windows is pretty easy with the command. To start, press Win + X, then select the option “Command Prompt (Admin)” to open the Command Prompt with admin rights.

Once the command prompt has been opened, use the below command format to create a symlink for a file.

In my case, I want to create a symlink in the E drive for a text file located on the F drive, so the command looks something like this:

The first path you see in the above command is where you will create your symlink. This path is called a “Link.” The second path belongs to the actual file on your disk and is called “Target.”

Once the symlink has been created, this is how it looks in the File Explorer. Though the icon looks like a regular shortcut, it is a symlink.

Along with individual files, you can create symlinks for entire directories. To do that, use the below command. The switch allows you to do this.

As soon as you execute the command, the symlink will be created for the target directory. You can use it to access all the files and folders inside the real folder. If you ever want to, you can delete the symbolic link like any other file or folder. Just select the symlink, press the delete key on your keyboard, and you are good to go.

And you’re done! If you want to do more under-the-hood tweaking in Windows 10, see our list of the best registry hacks. Also, check out how to batch rename files and how to get Mac-style hot corners in Windows 10.

Overview

With this utility you can use the symlink application Microsoft Windows has well hidden inside the cmd.exe app.

The goal is just make it easier to create symbolic links, hard links, or directory junctions, using a pretty simple interface, so no more bogus command line to do it…

This application needs .Net Framework 3.5 to run (SP1 recommended) and as of 4/24/2015 this software will only work under

  • Windows Vista
  • Windows 7
  • Windows 8 and 8.1

Windows XP doesn’t have the mklink command available from the cmd.exe app.

If you encounter a bug, please let me know in the issues section, I will look into it when I have the time!

Thanks for your downloads and support, hope you like it!

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
(62 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

Управление политикой

В этом разделе описываются различные функции и средства, доступные для управления этой политикой.

Перезагрузка устройства не требуется для того, чтобы этот параметр политики был эффективным.

Изменения прав пользователя вступают в силу при его следующем входе в учетную запись.

Групповая политика

Параметры применяются в следующем порядке с помощью объекта групповой политики (GPO), который перезаписывал параметры на локальном компьютере при следующем обновлении групповой политики:

  • Параметры локальной политики
  • Параметры политики сайта
  • Параметры политики домена
  • Параметры политики подразделения

Когда локальный параметр серый, он указывает, что GPO в настоящее время контролирует этот параметр.

Средства командной строки

Этот параметр можно использовать в сочетании с параметром символической системы файлов ссылок, которым можно управлять с помощью средства командной строки для управления типами symlinks, разрешенными на устройстве. Дополнительные сведения введите в командной подсказке.

Как найти и вывести все символические ссылки на диске?

В 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), а я предлагаю вернуться к разговору о жестких ссылках.

Обзор

Символьная ссылка содержит текстовую строку, которая автоматически интерпретируется операционной системой как путь к другому файлу или каталогу. Этот другой файл или каталог называется «целью». Символьная ссылка — это второй файл, который существует независимо от своей цели. Если символическая ссылка удаляется, ее цель остается неизменной. Если символическая ссылка указывает на цель, и когда-то позже эта цель перемещается, переименовывается или удаляется, символическая ссылка не обновляется или удаляется автоматически, но продолжает существовать и по-прежнему указывает на старую цель, теперь несуществующее местоположение или файл. Символические ссылки, указывающие на перемещенные или несуществующие цели, иногда называют сломанными , потерянными , мертвыми или зависшими .

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

Символьные ссылки работают прозрачно для многих операций: программы, которые читают или записывают файлы, названные символьной ссылкой, будут вести себя так, как если бы они работали непосредственно с целевым файлом. Однако они имеют эффект изменения иерархической файловой системы с дерева на ориентированный граф, что может иметь последствия для таких простых операций, как определение текущего каталога процесса. Даже стандарт Unix для перехода к родительскому каталогу каталога больше не работает надежно перед лицом символических ссылок. Некоторые оболочки эвристически пытаются поддержать иллюзию древовидной иерархии, но когда они это делают, это заставляет их выдавать разные результаты от других программ, которые манипулируют именами путей без такой эвристики, полагаясь вместо этого на операционную систему. Таким образом, программы, которым необходимо обрабатывать символические ссылки специально (например, оболочки и утилиты резервного копирования), должны идентифицировать их и управлять ими напрямую.

Некоторые дистрибутивы Unix, а также Linux широко используют символические ссылки, чтобы изменить порядок иерархии файловой системы . Это достигается с помощью нескольких механизмов, таких как вариантные контекстно-зависимые символические ссылки. Это дает возможность создать более интуитивно понятное или ориентированное на приложение дерево каталогов и реорганизовать систему без изменения основного набора системных функций и утилит.

Гость форума
От: admin

Эта тема закрыта для публикации ответов.