как создать мягкую ссылку linux

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

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

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

Типы ссылок

В системах Linux / UNIX есть два типа ссылок:

Как использовать команду ln

Синтаксис команды ln для создания символических ссылок следующий:

По умолчанию в случае успеха ln не производит никакого вывода и возвращает ноль.

Создание символической ссылки к файлу

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

Замените source_file именем существующего файла, для которого вы хотите создать символическую ссылку, а symbolic_link — именем символической ссылки.

Параметр symbolic_link необязательный. Если вы не укажете символическую ссылку, команда ln создаст новую ссылку в вашем текущем каталоге:

В следующем примере мы создаем символическую ссылку my_link.txt на файл my_file.txt :

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

Результат будет выглядеть примерно так:

Создание символических ссылок на каталог

Команда для создания символической ссылки на каталог такая же, как и при создании символической ссылки на файл. Укажите имя каталога в качестве первого параметра и символическую ссылку в качестве второго параметра.

Например, если вы хотите создать символическую ссылку из /mnt/my_drive/movies каталог

/my_movies вы должны запустить:

Замена символических ссылок

Удаление символических ссылок

Синтаксис unlink очень прост:

Удаление символической ссылки с помощью команды rm такое же, как и при удалении файла:

Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным), и его следует удалить.

Выводы

Для получения дополнительной информации о команде ln посетите страницу руководства ln или введите man ln в терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

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

Полезно

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

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

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

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

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

Навигация

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

Телефония

FreePBX и Asterisk

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

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

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

Мягкие и жесткие ссылки в Linux

Продолжаем говорить про символические ссылки

Мы уже рассказывали про мягкие и жесткие ссылки в Linux, и данная статья посвящена их более глубокому изучению. Ссылки в операционной системе Linux бывают 2-х типов мягкие и жесткие. Если провести аналогию с операционной системой Windows, то там мы в основном работаем с мягкими ссылками, символическими ярлыками. Но в операционной системе Windows есть и жесткие ссылки, просто они очень глубоко спрятаны внутри операционной системы. В статье будет рассказано:

как создать мягкую ссылку linux

Итак, смотрим в домашнюю директорию пользователя. Я заранее создал файл и 2 ссылки жесткую и мягкую указывающие на данный файл.

как создать мягкую ссылку linux

как создать мягкую ссылку linux

Команда ls с ключем –li может отображать inodes. В результате ввода команды появился еще один столбец впереди. В данном столбце и отображается номер inodes, т.е идентификатор файла, индексный дескриптор, местонахождение файла на диске, метка файла.

как создать мягкую ссылку linux

как создать мягкую ссылку linux

Если мы попробуем дописать, какие-нибудь изменения в файл. Например, echo Hello>> file.txt

как создать мягкую ссылку linux

Теперь мы можем увидеть, что ссылка мягкая у нас стала красной (Битой). Потому что, мягкие ссылки опираются на имя файла. Причем не просто на имя файла, а на полное имя файла. А жесткая ссылка, как была, так и осталась работоспособной. Потому, что она указывает на один и тот же inode, потому что она указывает на то место где данный файл находиться. И если мы утилитой cat скажем показать жесткую ссылку в выводе мы получим исходный файл, а мягкая ссылка выдаст нам ошибку. Основная разница между жесткой ссылкой и мягкой, заключается в том, что мягкая опирается на имя файла. А жесткая указывает на физическое место, определяемое дескриптором где находиться файл.

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

Также стоит упомянуть ситуацию с папками.

как создать мягкую ссылку linux

Разница между копирование файла и созданием ссылки. Когда копируем файл мы фактически создаем другой файл со всем его содержимым, а когда мы создаем ссылку – это некий ярлык на файл. Скопируем файл file.txt в newfile.txt и на file.txt создадим жесткую ссылку. Когда мы смотрим вывод команды ls –l по папке то визуально копию мы не отличим от жесткой ссылки, если мы конечно об этом не знаем. А отличие мы увидим только если мы посмотрим на inodes.

как создать мягкую ссылку linux

как создать мягкую ссылку linux

как создать мягкую ссылку linux

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

Источник

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

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

как создать мягкую ссылку linux

Жесткие ссылки: Жесткие ссылки – это ссылки, которые отражают или копируют исходный файл. Жесткие ссылки имеют одинаковые номера inode.

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

Изучение создания символической ссылки в Linux – отличный способ улучшить работу с терминалом Linux. Итак, давайте изучим шаги, необходимые для создания программных ссылок в Linux.

Как создать символическую ссылку (софт-ссылку) в Linux

Чтобы создать символическую ссылку или мягкую ссылку, мы используем команду ln. Ниже приведен синтаксис для создания символической ссылки:

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

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

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

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

Важно отметить, что если вы не укажете «[символическое имя]», то команда создаст символическую ссылку по имени исходного файла. Давайте разберемся в этом на примере.

Мы создали каталог «my_folder», содержащий текстовый файл «my_doc.txt». Теперь, чтобы создать символическую ссылку на файл «my_doc.txt», мы будем использовать:

Чтобы проверить это, используйте:

Как видно из вышеприведенного вывода, «my_document» указывает на файл «my_folder/my_doc.txt». И символическая ссылка, и исходный файл будут иметь разные номера inode. Чтобы проверить используемые номера inode:

Жесткие ссылки всегда будут иметь одинаковые номера inode. Для проверки мы создали жесткую ссылку на файл «my_doc.txt» и назвал его «my_document_2»:

Из вывода видно, что исходный файл и жесткая ссылка имеют одинаковые номера inode.

Как создать символическую ссылку (мягкую ссылку) папки/каталога

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

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

Теперь проверьте номера inode:

Как перезаписать символическую ссылку (мягкую ссылку) в Linux:

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

Нам нужно будет использовать принудительный флаг «-f», чтобы перезаписать новый путь к существующей символической ссылке.

Как удалить Symlink (Soft Link) в Linux:

Во многих случаях вам необходимо удалить ненужные символические ссылки из вашей системы. Чтобы удалить символическую ссылку, мы используем команду «unlink», синтаксис которой приведен ниже:

Давайте удалим символические ссылки, которые мы создали в приведенных выше примерах. Чтобы отключить символическую ссылку файла, используйте:

И чтобы отключить символическую ссылку каталога:

Мы также можем использовать команду «rm» для удаления символических ссылок.

Преимущество «rm» перед «unlink» состоит в том, что вы можете удалить несколько символических ссылок с помощью команды «rm», что невозможно с помощью команды «unlink».

Обратите внимание, что независимо от того, используете ли вы команду «unlink» или «rm», не используйте завершающую косую черту «/», даже если это каталог.

Заключение

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

Понимание и освоение терминала Linux очень важно для любого новичка. Мы надеемся, что этот пост помог вам изучить новую утилиту и улучшить свои навыки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

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

как создать мягкую ссылку linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

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

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Символические и жесткие ссылки в Linux. Команда ln

как создать мягкую ссылку linux
Что такое символические и жесткие ссылки в Linux. Чем они отличаются. Как создавать ссылки. Использование команды ln.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как создавать ссылки в Linux. Команда ln

Для создания ссылок в Linux используется команда ln (от слова link).

Синтаксис команды ln :

Создание символических ссылок

Например, создадим в текущем каталоге символическую ссылку с именем mylink на файл /home/pingvinus/myfile :

Обратите внимание, что ссылка и целевой файл имеют разные inode (792300 и 787622. См. число в начале строки).

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

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

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

Например, создадим жесткую ссылку с именем hardlinktofile на файл myfile.txt :

Выведем список файлов:

Можно заметить, что hardlinktofile и myfile.txt имеют одинаковый inode=787622, так как являются фактически разными именами для одного файла (inode которого 787622).

Также видно, что на данный inode имеется 2 ссылки (см. цифру 2 в 3-м столбце). Если мы удалим исходный файл, то количество ссылок на него уменьшается на 1, то есть на самом деле файл не удаляется, так как на него больше, чем 1 ссылка. И мы по прежнему можем работать с файлом по имени hardlinktofile.

Обратите внимание, что после выполнения команды rm, количество ссылок на файл стало равно 1.

Пример создания и использования жесткой ссылки:
как создать мягкую ссылку linux

Как удалить ссылку

Ссылки, как и обычные файлы, можно удалять, используя команду rm :

Создание ссылок через файловый менеджер

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

Резюме

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *