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

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Команда Ln: как создавать символические ссылки в Linux

Жесткие и мягкие ссылки

4 минуты чтения

Символические ссылки используются в Linux для управления файлами и их сопоставления.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

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

Команда Ln для создания символических ссылок

Чтобы использовать команду ln, откройте окно терминала и введите команду в следующем формате:

  • По умолчанию команда ln создает hard link (жесткая ссылка).
  • Используйте параметр -s , чтобы создать символическую ссылку, она же soft link.
  • Параметр -f заставит команду перезаписать уже существующий файл.
  • Source — это файл или каталог, на который делается ссылка.
  • Destination — это место для сохранения ссылки — если это поле не заполнено, символическая ссылка сохраняется в текущем рабочем каталоге.

Например, создайте символическую ссылку с помощью:

Это создает символическую ссылку link file.text , которая указывает на testfile.txt .

Чтобы проверить, создана ли символическая ссылка, используйте команду ls :

Создать символическую ссылку на каталог Linux

Символическая ссылка может относиться к каталогу. Чтобы создать символическую ссылку на каталог в Linux:

В этом примере создается символическая ссылка с именем stock_photos в домашнем каталоге

/ . Ссылка относится к каталогу stock_photos на внешнем диске external_drive .

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

Принудительно перезаписать символические ссылки

Вы можете получить сообщение об ошибке, как показано на изображении ниже:

Сообщение об ошибке означает, что в месте назначения уже есть файл с именем link_file.txt . Используйте параметр -f , чтобы система перезаписывала целевую ссылку:

Примечание. Использование опции -f навсегда удалит существующий файл.

Удаление ссылок

Если исходный файл будет перемещен, удален или станет недоступным (например, сервер отключится), ссылку нельзя будет использовать. Чтобы удалить символическую ссылку, используйте команду rm (remove) или unlink :

Команду ln можно использовать для создания двух разных типов ссылок:

  • Hard Links (жесткие ссылки)
  • Soft Links (символические или мягкие ссылки)

Символическая ссылка, иногда называемая мягкой ссылкой или soft link, указывает на расположение или путь к исходному файлу. Она работает как гиперссылка в Интернете.

Вот несколько важных аспектов символической ссылки:

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

Когда файл хранится на жестком диске, происходит несколько вещей:

  • Данные физически записываются на диск.
  • Создается справочный файл, называемый индексом, который указывает на расположение данных.
  • Имя файла создается для ссылки на данные inode.
Читайте также  Драйвера для windows 7 для принтера hp laserjet 2200 для

Жесткая ссылка работает путем создания другого имени файла, которое ссылается на данные inode исходного файла. На практике это похоже на создание копии файла.

Вот несколько важных аспектов жестких ссылок:

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Что Такое Символическая Ссылка и Как Создать Симлинк в Linux

Команды Linux, связанные с символическими ссылками, прекрасно дополнят ваш инструментарий для работы в терминале. В этом руководстве мы рассмотрим несколько быстрых и простых команд. Но прежде чем мы начнём, давайте разберёмся, что же такое символическая ссылка.

Что Такое Символическая Ссылка?

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

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

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

Функции Linux настолько удобны, что даже Microsoft перенял их практику создания символических ссылок. Однако символическая ссылка, также известная как мягкая ссылка, или симлинк, не является уникальным явлением, характерным исключительно Linux. Они напоминают поиск в Windows, когда для того, чтобы найти файл или каталог, пользователь выполняет различные команды.

Как Создать Символическую Ссылку в Linux

Итак, давайте разберёмся, как создать символические ссылки на файлы и папки в Linux.

Символическая Ссылка Linux на Файлы

Обычно для создания ссылок мы используем команду ln и опцию -s, чтобы указать символическую ссылку. Это самый простой и гибкий способ, который позволяет максимально экспериментировать с языком. В создании символических ссылок в Linux нет ничего сложного — нужно просто выполнить один простой шаг.

Команда ln в Linux создает ссылки между исходными файлами и каталогами.

  • -s — команда для символических ссылок.
  • [целевой файл] — имя существующего файла, для которого вы создаёте ссылку.
  • [имя символической ссылки] — эта часть команды объясняет сама себя.

Проверить создалась ли ссылка можно с помощью команды вывода подробного списка содержимого каталога:

Однако, если вы не укажете [имя символической ссылки], команда автоматически создаст новую ссылку в существующем каталоге.

Символическая Ссылка Linux на Папки

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

Допустим, мы хотим связать каталог /user/local/downloads/logo с каталогом /devisers , вот как будет выглядеть команда:

Созданная и прикреплённая к папке /devisers , символическая ссылка будет вести к /user/local/downloads/logo . Когда пользователь меняет каталог — cd — на /devisers , система автоматически переключается на определённый файл и записывает его в каталог команды.

Опции символических ссылок называются переключателями командной строки. Вот наиболее распространённые из них и их описания:

ПереключательОписание
–backup[=CONTROL]резервное копирование каждого существующего файла назначения
-d, -F, –directoryсуперпользователь может использовать жесткую ссылку
-f, –forceудаляет существующий файл назначения
-I, –interactiveспрашивает перед удалением файлов назначения
-L, –logicalразыменовывает символические ссылки
-n, –non-dereferenceобрабатывает символическую ссылку как обычный файл, если это символическая ссылка на каталог
-P, –physicalделает жесткие ссылки непосредственно на символические ссылки, а не разыменовывает их.
-r, –relativeсоздаёт символические ссылки относительно расположения ссылок
-s, –symbolсоздаёт символические ссылки вместо жестких ссылок
-S, –suffix=SUFFIXпереопределяет обычный суффикс резервных копий
-v, –verboseвыводит имя каждого файла при создании ссылки
Читайте также  Как сменить пароль на принтере hp

Как Изменить или Удалить Символическую Ссылку в Linux?

Вы можете удалить существующие ссылки, прикреплённые к файлам или каталогам, с помощью команды unlink или rm. Вот как вы можете сделать это с помощью команды unlink:

Аналогичным образом удаляем символическую ссылку с помощью команды rm:

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

Итоги

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

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

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.

Источник

Команда ln в Linux

Команда ln в операционных системах, разработанных на основе ядра Linux, используется для создания символических и жестких ссылок на файлы. От пользователя требуется соблюдение синтаксиса утилиты, правильное указание опций и расположения файлов. Сегодня мы бы хотели рассказать не только о действии этой команды, но и детально описать два вида упомянутых выше линков, поскольку они кардинально разные и применимы в определенных ситуациях. Конечно, не обойдется и без примеров инструмента ln.

Ссылки на файл в Linux

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

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

Символическая ссылка — файл определенного типа, который выступает в роли линка на другой объект — файл любого формата или определенный каталог. Обычно такие объекты называют целевыми. Иногда вы можете заметить, что такой тип ссылок называют soft links или sym-link. Такой элемент не содержит в себе данных цели, а лишь выступает указателем, то есть является полной копией ярлыка из Виндовс. Внутри symbolic link находится только путь. Никто не запрещает вам создать множество подобных линков с разными именами, но одним и тем же целевым объектом. Связь между двумя составляющими называется мягкой, поскольку при удалении ссылки целевой файл никаким образом не страдает. Однако при удалении файла ссылка становится нерабочей. Она сохраняется на диске, но указанный в ней путь ведет уже к несуществующему объекту.

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

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

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

Читайте также  Драйвера для наушников для ноутбука hp

Важно отметить, что линк будет иметь точно такой же идентификатор (inode), как и целевой файл. Как известно, у всех объектов свои уникальные номера. Из-за этого между ними будет различие только в именах. Все права, владелец и даты изменений сохраняются. Можно сказать, что жесткая ссылка — еще одно название для объекта. При удалении целевого файла линк все равно будет хранить информацию, которая находилась в нем, поскольку на содержимое остается еще один указатель.

Создание ссылок

Перейдем от теории к практике и поговорим о главной теме статьи — команде ln. Как вы уже знаете, она используется для создания двух типов ссылок. Однако стоит заметить, что некоторые файловые менеджеры имеют встроенную функцию по добавлению символического линка. Для этого нужно щелкнуть ПКМ по файлу или папке и выбрать пункт «Создать ссылку», «Create Link» или «Make Link». Тогда soft link будет помещен в этот же каталог, а вы можете переместить его в любое другое место на накопителе.

Для начала стоит упомянуть дополнительные действия, которые часто становятся полезными при осуществлении различных действий с файлами. Важно знать путь к целевому объекту или уметь его определить. Что касается определения, происходит оно так:

  1. Запустите файловый менеджер любым удобным методом, например, перейдя в домашнюю папку через значок на рабочем столе.
  2. Здесь отыщите в каталогах необходимый файл или папку, через правый клик мыши выберите пункт «Свойства».
  3. В разделе «Основные» вы найдете расположение родительской папки, добавьте к нему название элемента, чтобы получить полный путь, например, /home/user/folder/file_name .
  4. Если вы собираетесь создавать несколько линков для файлов из одной директории, советуем перейти к ней через «Терминал». Делается это путем ввода cd /home/user/folder . Такое действие позволит указывать только относительный путь к объекту.

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

Рассмотрим утилиту ln в действии. Начнем с создания символической ссылки на файл. Для этого воспользуйтесь стандартной консолью и выполните такие действия:

  1. Впишите ln -s file slink , где file — имя или полный путь к файлу или директории, а slink — название ссылки. Она будет помещена в тот же каталог, где и находится целевой объект.
  2. Введите и активируйте ls -li , чтобы увидеть информацию по поводу находящихся в каталоге объектов. Символическая ссылка выделена отдельным цветом, а через -> указана ее цель. Как видите, файл и линк имеют разные идентификаторы и права.
  3. Для наглядности удалим целевой элемент через rm .
  4. После повторного просмотра списка содержимого, вы увидите, что символический линк теперь испорчен и не работает, поскольку целевой объект был удален.

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

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

Создание жесткой ссылки во многом похоже с тем типом, который мы рассмотрели выше. Единственное различие заключается в отсутствии опции -s. Тогда вся процедура будет иметь примерно такой вид:

  1. Введите и активируйте ln file hlink .
  2. Снова используйте ls -li , чтобы убедиться в наличии связки жесткого линка и файла. Как видите, они имеют одинаковый идентификатор, права и остальные метаданные. Разные лишь имена.
  3. При удалении самого файла и просмотре содержимого вы увидите, что ссылка осталась рабочей, но при этом пропала связка.
  4. Задействуйте команду cat , чтобы просмотреть содержимое жесткого линка. В консоли отобразится та же информация, что изначально хранилась в исходном файле.

Информация будет доступна до тех пор, пока не удалятся все указатели на нее (исходный файл и все жесткие ссылки). Команда cat, используемая в последнем пункте, отвечает за просмотр содержимого файлов. Детальное описание всех ее возможностей ищите в статье далее.

Выше вы были ознакомлены не только со стандартной командой ln, но и узнали о двух типах доступных ссылок на объекты в Linux. Конечно, чаще бывают задействованы символические линки, но жесткие тоже иногда становятся полезными. О других популярных командах в Линукс можете узнать из нашего отдельного материала.

Источник

Mac OS X Hints
Adblock
detector