Поиск по сайту:

Как создать жесткую ссылку и программную ссылку в Linux?


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

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

Примечание. Мы использовали Linux Mint 20, чтобы показать вам методы, показанные ниже.

Способ создания жесткой ссылки в Linux Mint 20:

Для создания жесткой ссылки на файл в Linux Mint 20 мы выполним шаги, указанные ниже:

Во-первых, нам нужно запустить терминал, чтобы мы могли передавать команды через терминал в Linux Mint 20 для создания жесткой ссылки. Мы также прикрепили изображение терминала Linux Mint 20 ниже:

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

$ ls –l

Эта команда выведет список всего содержимого рабочего каталога, над которым вы сейчас работаете.

Содержимое нашего домашнего каталога также показано на следующем изображении:

Теперь выберите любой файл по вашему выбору, жесткую ссылку на который вы хотите создать. Мы выделили наш выбранный файл на изображении, показанном выше. Теперь мы попытаемся создать жесткую ссылку для файла с именем «awk.txt», выполнив команду, показанную ниже:

$ ln awk.txt abc.txt

Здесь первый файл будет тем, для которого вы хотите создать жесткую ссылку, тогда как второй файл указывает имя создаваемой жесткой ссылки. Вы можете использовать любое имя, кроме «abc.txt».

После запуска этой команды вам нужно еще раз просмотреть содержимое вашего текущего рабочего каталога с помощью команды «ls», чтобы проверить, была ли создана жесткая ссылка на файл «awk.txt». После запуска этой команды вы сможете увидеть точный клон «awk.txt» с именем «abc.txt» в вашем текущем рабочем каталоге, как показано на следующем изображении:

Другой способ проверить это — посетить свой домашний каталог, щелкнув значок файлового менеджера. Там вы сможете увидеть «awk.txt» вместе с «abc.txt», который, по сути, является точной копией того же текстового файла. Вы также можете открыть оба этих файла, чтобы проверить, совпадает ли их содержимое.

Метод создания программной ссылки в Linux Mint 20:

Для создания программной ссылки на файл в Linux Mint 20 мы выполним шаги, указанные ниже:

Нам нужно еще раз запустить команду «ls», чтобы проверить содержимое текущего рабочего каталога, как мы сделали в методе, показанном выше. На этот раз мы выбрали другой файл с именем «Bash.sh» для создания его программной ссылки, как показано на следующем изображении:

После выбора файла для создания его программной ссылки нам нужно выполнить указанную ниже команду в нашем терминале Linux Mint 20:

$ ln –s Bash.sh NewBash.sh

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

После запуска этой команды вам нужно еще раз просмотреть содержимое вашего текущего рабочего каталога с помощью команды «ls», чтобы проверить, была ли создана программная ссылка на файл «Bash.sh». После запуска этой команды вы сможете увидеть программную ссылку с именем «NewBash.sh», которая будет указывать на файл с именем «Bash.sh» в вашем текущем рабочем каталоге, как показано на следующем изображении. Кроме того, вы также сможете увидеть флаг «l» в выделенной записи, что еще раз указывает на то, что ссылка, которую вы только что создали, является просто указателем на файл, а не точной копией файла.

Другой способ проверить это — посетить свой домашний каталог, щелкнув значок файлового менеджера. Там вы сможете увидеть «Bash.sh» и «NewBash.sh», которые фактически являются мягкой ссылкой на предыдущий файл. Вы также можете увидеть стрелку, расположенную на файле «NewBash.sh», которая показывает, что это своего рода ярлык или ссылка на файл «Bash.sh», а не его точная копия, как показано на изображении ниже:

Заключение:

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

Статьи по данной тематике: