Linux mint жесткие ссылки

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Устройство операционной системы linux основы

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

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

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

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

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

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

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

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

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

Заключение:

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

Читайте также:  Arch linux grub install efi

Как использовать чит-движок GameConqueror в Linux

Игры

В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п.

Лучшие эмуляторы игровой консоли для Linux

Игры

В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция — это уровень совмести.

Лучшие дистрибутивы Linux для игр в 2021 году

Игры

Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те.

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

Источник

Символические и жесткие ссылки Linux

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

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

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

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

Вот основные особенности символических ссылок:

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

Теперь давайте рассмотрим жесткие ссылки.

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

Этот тип ссылок реализован на более низком уровне файловой системы. Файл размещен только в определенном месте жесткого диска. Но на это место могут ссылаться несколько ссылок из файловой системы. Каждая из ссылок — это отдельный файл, но ведут они к одному участку жесткого диска. Файл можно перемещать между каталогами, и все ссылки останутся рабочими, поскольку для них неважно имя. Рассмотрим особенности:

  • Работают только в пределах одной файловой системы;
  • Нельзя ссылаться на каталоги;
  • Имеют ту же информацию inode и набор разрешений что и у исходного файла;
  • Разрешения на ссылку изменяться при изменении разрешений файла;
  • Можно перемещать и переименовывать и даже удалять файл без вреда ссылке.
Читайте также:  Узнать какая версия linux установлена

Использование ссылок в Linux

Теоретические отличия вы знаете, но осталось закрепить все это на практике, поэтому давайте приведем несколько примеров работы со ссылками в Linux. Для создания символических ссылок существует утилита ln. Ее синтаксис очень прост:

$ ln опции файл_источник файл_ссылки

  • -d — разрешить создавать жесткие ссылки для директорий суперпользователю;
  • -f — удалять существующие ссылки;
  • -i — спрашивать нужно ли удалять существующие ссылки;
  • -P — создать жесткую ссылку;
  • -r — создать символическую ссылку с относительным путем к файлу;
  • -s — создать символическую ссылку.

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

Сначала создайте папку test и перейдите в нее:

Затем создайте файл с именем source с каким-либо текстом:

echo «текст текст текст текст» > source
$ cat source

Файл готов, дальше создадим символическую ссылку Linux, для этого используется команда ln с опцией -s:

Попробуем посмотреть содержимое файла по ссылке:

Как видите, нет никакой разницы между ней и исходным файлом. Но утилита ls покажет что это действительно ссылка:

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

Теперь удалите исходный файл и посмотрите что будет:

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

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

Снова создайте файл source с произвольным текстом:

echo «текст текст текст текст» > source
$ cat source

Теперь создадим жесткую ссылку Linux. Для этого достаточно вызвать утилиту без параметров:

Посмотрите содержимое файла:

Данные те же самые, а если мы посмотрим вывод утилиты ls, то увидим что inode и права доступа тоже совпадают:

Если для одного из файлов поменять разрешения, то они изменяться и у другого. Теперь удалите исходный файл:

Затем посмотрите содержимое:

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

Выводы

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

На завершение видео про ссылки в Linux:

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector