Как создать символьную ссылку на папку или файл в Windows. Что такое симлинк

В статье показано как создать символическую ссылку в Linux.

Синтаксис

ln [-Ffhinsv] исходный_файл [целевой_файл]

ln [-Ffhinsv] исходный_файл … целевой_каталог

link исходный_файл целевой_файл

Описание

Программа ln создает запись в директории (ссылку) с именем, целевой_файл.

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

Команда ln имеет следующие опции:

-f Если целевой_файл уже существует, удалить его, чтобы можно было создать ссылку.
Данная опция отменяет опцию -i.

-F Если целевой_файл уже существует и является директорией, удалить его, чтобы можно было создать ссылку. Опция -F используется вместе с опциями -f или -i, в случае, если ни одна из них не указана, подразумевается опция -f.

Эта опция не работает без опции -s.

-h Если целевой_файл или целевой_каталог является символической ссылкой, не следовать по ей. Данная опция полезна в сочетании с опцией -f для замены символической ссылки, которая
указывает на каталог.

-i Интерактивный режим. Если целевой_файл существует, пользователю будет выведен запрос на удаление В случае согласия, ln удалит целевой_файл и создаст новую ссылку. Данная опция отменяет действие опции -f.

-n Аналог опции -h, для совместимости с другими реализациями программы ln.

-v Режим вывода информации о ходе выполнения программы ln.

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

Символическая ссылка содержит имя файла, на который ссылается. При выполнении операции
open(2) над символической ссылкой используется оригинальный файл. Вызов stat(2), выполненный
над символической ссылкой, также вернёт исходный файл. Для получения информации о ссылке
можно использовать lstat(2). Для чтения содержимого символической ссылки можно
воспользоваться вызовом readlink(2). В отличии от жестких ссылок, символические,
могут находиться в другой файловой системе и могут указывать на каталоги.

С одним или двумя аргументами, программа ln создаёт ссылку на существующий исходный_файл. Имя для ссылки будет взято из аргумента целевой_файл. Если в аргументе целевой_файл, не указана директория, для создания ссылки, будет использована текущая директория, если указан только каталог, будет создана ссылка на последний элемент из исходный_файл.

С более чем двумя аргументами, программа ln создаёт ссылки в целевой_каталог на все указанные
пути в исходный_файл. Ссылки при этом получают имена исходных файлов.

Если программа ln, вызывается в форме link, ей передается ровно два аргумента, передаваемые аргументы не могут быть каталогами, кроме того, в данной форме она не принимает никаких опций. Это простая форма использования.

Совместимость

Опции -h, -i, -n и -v, предназначены для совместимости с другими реализациями программы ln, и не рекомендуются для использование в скриптах.

Примеры

ln <исходный файл> [новый]

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

Вам понадобится

  • - компьютер
  • - выход в интернет

Инструкция

Для начала придумайте анкор линка . Текстовое обозначение ссылки обязательно должно содержать ключевые слова статьи, на которую она будет отправлять пользователя. Качественный линк состоит из 2-3-х слов, которые могут заинтересовать читателя с первого взгляда.

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

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

В другом окне браузера откройте ту статью сайта, на которую необходимо поставить линк. Если вы создаете ссылку на внутреннюю страницу данного сайта, то скопируйте всю адресную строку, кроме непосредственного адреса сайта, включая слэш, который стоит сразу после него. К примеру, если строка содержит символы: na-parad-pervomay.ru/novosti/raspisanie-demonstracii, - в буфере обмена должна оказаться цепочка: /novosti/raspisanie-demonstracii.

Если вы намерены создать линк на сторонний ресурс, то скопируйте содержимое адресной строки полностью. После этого вернитесь в предыдущее окно и вставьте в появившееся маленькое окно то, что вы скопировали, если ссылка относится к внутренней странице. При создании линка на другой ресурс перед данными из буфера обмена следует вставить http://. Нажмите ОК и сохраните последние изменения.

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

Думаю, то, что удалось выяснить, может показаться кому-нибудь полезным.

Ядро Windows поддерживает следующие виды ссылок:

  • Hard Links - жёсткие ссылки, как в *nix. Доступны начиная с Windows NT4.
  • Junction Points - аналог символических ссылок. Доступен начиная с Windows 2000 (NTFS 5).
  • Symbolic Links - символьные ссылки. Доступны начиная с Windows Vista.
Если вы никогда не имели дела с символическими и жёсткими ссылками, но хотели бы узнать о них, советую прочитать отрывок из документации файлового менеджера FAR , спасибо хабрачеловеку allemeine . Там говорится только о Hard Links и Junction Points, но этого вполне достаточно. Symbolic Links действуют так же, как и Junction Points, с той разницей, что могут указывать на файлы (и реализованы в Windows по-другому).

Hard Links можно создавать только на файлы, Junction Points - только на директории, Symbolic Links - на файлы и директории. В дальнейшем под «жёсткими ссылками» подразумеваются Hard Links, под «символьными» - Junction Points и Symbolic Links.

Не со всем, что поддерживается ядром, умеет нормально работать эксплорер. Будьте осторожны при использовании Junction Points в версиях Windows до Vista. При удалении Junction Point эксплорер может залезть внутрь директории, на которую ссылается Junction Point и поудалять там всё, а затем удалить Junction Point, хотя должен лишь удалить ссылку. Наверняка могут возникнуть проблемы и при перемещении или копировании Junction Point"ов.

Мне неизвестно, нормально ли в версиях Windows до Vista относятся к Junction Points стандартные утилиты типа rmdir.

Дополнительные материалы по теме

Отмечу , в которой описаны нюансы использования ссылок и некоторые программы, позволяющие с ними работать. Статья устаревшая, так что в ней говорится только о Hard Links и Junction Points (причём на последние в статье нередко ссылаются, как на symbolic links...).
Windows >= 2000
fsutil hardlink create ссылка файл
Расширения для Explorer
NTFS Link интегрируется в Explorer и добавляет во всплывающее меню, появляюшееся после перетаскивания правой кнопкой мыши, пункты «Create junction point» и «Create hard link». Кроме того, она перехватывает вызовы Explorer"а, обеспечивая нормальное перемещение/копирование/удаление созданных ссылок.

NTFS Links (не путать с дополнением для Total Commander, см. ниже) - абсолютно аналогичная программа. Спасибо за

Доброго времени суток! Сегодня рассмотрим интересную тему под названием «Символьные ссылки». Вариантов использования данного инструмента не так уж много. К примеру, если вы используете часть оперативной памяти как RAM-диск, можно перенести какую-либо игру или её часть (скажем папки с графикой) и создать символьную ссылку. Это значительно ускорит загрузку уровней и карт. Также символьные ссылки можно использовать для переноса папки пользователя целиком, но об этом напишу в одной из следующих статей.

Что такое симлинк?

Символьная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) - специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).

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

Инструкция по созданию символьной ссылки

1) Создаем (или копируем) папку в нужном нам месте. В моем случае я создам папку mkfolder на локальном диске D:

2) Открываем командную строку, для этого жмём Win+R и в открывшемся окне пишем cmd:

3) В открывшемся окне командной строки нам необходимо создать символьную ссылку для нашей папки. Делается это с помощью команды mklink. В моем случае я пишу так, создавая в корне диска С папку с именем mklink, которая будет ссылать на папку D:\mkfolder:

Mklink /j "c:\mklink" "d:\mkfolder"

где, mklink — команда создания символьной ссылки

/j — атрибут создания соединения для каталога

c:\mklink — место создания файла с символьной ссылкой / имя новой символьной ссылки

d:\mkfolder — Путь, на который ссылается символьная ссылка

5) Пройдем на диск C и посмотрим на созданную символьную ссылку:

6) Главное её отличие от обычного ярлыка в том, что если зайти в папку mklink, система будет считать, что вы находитесь именно на диске C в папке mklink, но на самом деле вы будете видеть и работать с файлами, которые находятся на диске D в папке mkfolder:

Альтернативный способ

1) Копируем папку, для которой нам нужно создать символьную ссылку.

2) Идём в каталог:

C:\Users\*имя пользователя*\AppData\Roaming\Microsoft\Windows\Network Shortcuts

Папка AppData скрытая, для того чтобы включить отображение скрытых папок, воспользуйтесь .

3) Жмём правой клавишей по окну каталога и выбираем «Вставить ярлык». Система создаст символьную ссылку до исходного каталога и теперь её можно перенести в нужное для вас место и переименовать.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание:)

В командной оболочке Linux, чтобы создать еще одну жесткую ссылку на файл, то есть еще одно имя, используется команда ln (от "link" – ссылка, связывать). Первым аргументом указывается существующее имя файла, вторым – имя новой ссылки. Адреса обоих аргументов могут быть как относительными, так и абсолютными.

В примере для файла butt2.png, который находится в каталоге image, создаются две дополнительные жесткие ссылки. Одна – в текущем каталоге (./), другая – в папке Загрузки. В первом случае файл не переименовывается, т. к. это не обязательно, ведь полные имена файлов различны. Однако можно и переименовать, как это происходит во втором случае.

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

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

Символьные ссылки создаются с помощью той же команды ln, однако используется ключ -s (от "symbolic"). В качестве первого аргумента пишется абсолютный адрес файла или каталога, на который делается ссылка, в качестве второго – абсолютный или относительный адрес создаваемой мягкой ссылки.

Здесь на рабочем столе создаются две символьные ссылки: на каталог image и на файл 2018.ods. Имя ссылки можно оставить таким же как у объекта, если ссылка создается в другом каталоге. Команда ls -l среди прочего отображает адрес, на который указывает символьная ссылка. Если бы мы при создании мягкой ссылки использовали относительные адреса источников, то они так бы и хранились, и файлы-ссылки были бы нерабочими.

Практическая работа

Создайте текстовый файл с помощью перенаправления вывода команды cal. Создайте на этот файл дополнительную жесткую ссылку. Внесите изменения в файл, обратившись к нему по второму имени. Изменения можно внести, дописав (>>) в файл дату с помощью перенаправления вывода команды date. Посмотрите содержимое файла, воспользовавшись первым именем файла. Тем самым вы убедитесь, что имеете дело с одним и тем же файлом, доступным под разными именами.