ГлавнаяОперационные системыLinuxПонимание различий между мягкими и жесткими ссылками в Linux

Понимание различий между мягкими и жесткими ссылками в Linux

Когда будут полезны программные ссылки?

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

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

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

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

т на целевой файл.

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

Ниже мы покажем, как работают мягкие и жесткие ссылки.

Мягкие ссылки в действии

Предположим, у нас есть файл с именем «first_file.txt», содержащий четыре строки текста.

Ссылка на просмотр файлов

Мы создадим программную ссылку в нашем домашнем каталоге.

ln -s first_file.txt ~/sl-firstfile.txt

В среде рабочего стола GNOME программную ссылку для файла можно создать, просто щелкнув файл правой кнопкой мыши и выбрав «Создать ссылку». Создается мягкая ссылка с именем, похожим на «Ссылка на <имя_файла>.txt».

Ссылка Sl Guicreate

Если мы попытаемся просмотреть содержимое «sl-firstfile.txt», мы увидим, что оно совпадает с «first_file.txt».

Ссылка Sl View

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

Мягкие ссылки в действииt.ru/wp-content/uploads/2024/05/link-slfirst.png" alt="Линк Слферст">

Когда мы пытаемся просмотреть список текущего каталога с помощью команды ls -l, вы можете увидеть, где программная ссылка указывает на целевой файл. Первый символ в строке разрешения для «sl-firstfile.txt» — «l», что означает, что эта запись предназначена для ссылки.

Ссылка

Читайте также: Как управлять символическими ссылками в Linux

Поведение при удалении программных ссылок

Когда целевой файл будет удален, программная ссылка останется.

Линк Сл Делориг

Однако ссылка стала «висячей» или «сломанной» и стала бесполезной.

Ссылка Делвью

Теперь, если вы создадите еще один файл с тем же именем — «first_file.txt» — программная ссылка снова станет активной.

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

Ссылка для чтения

Выводом этой команды будет абсолютный путь к исходному файлу.

Жесткие ссылки в действии

Теперь мы создадим жесткую ссылку на тот же файл в нашем домашнем каталоге. Это можно сделать с помощью следующей команды:

ln first_file.txt hl-first-file.txt

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

Другой способ создать жесткую ссылку — использовать команду link.

link hl-firstfile.txt hl2-firstfile.txt

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

Ссылка на первый просмотр
Ссылка Hl Secondview

В графическом интерфейсе оба файла отображаются как отдельные объекты. Нет никаких указаний на наличие жесткой ссылки.

Поведение при удалении программных ссылокs/2024/05/link-hlview.png" alt="Ссылка на Hlview">

Давайте попробуем добавить новую строку в файл жесткой ссылки «hl-firstfile.txt».

echo "hello" >> hl-first-file.txt

Изменение данных можно просмотреть в обоих файлах.

Ссылка Ссылка Hlappview2
Ссылка Hl Appview1

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

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

Поведение при удалении жестких ссылок

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

Ссылка Хл Дель
Ссылка Хл Делвью

Ког

Жесткие ссылки в действии

и?

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

Когда будут полезны жесткие ссылки?

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

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

Заключение

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

Поведение при удалении жестких ссылок

Когда будут полезны жесткие ссылки?

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи