Skip to content

10 Дерево каталогов (FHS) Жёсткие и символические

10 Дерево каталогов (FHS). Жёсткие и символические ссылки

Дерево каталогов

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

Untitled

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

Использование Fайловой sистемы windux

Untitled

Жёсткие и символические ссылки

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

Что хранится в inode:

Права доступа (чтение, запись, выполнение для владельца файла, группы и остальных пользователей).Владелец файла (обычно представлен UID, идентификатором пользователя).Группа файла (GID, идентификатор группы).Размер файла (в байтах).Время последнего доступа к файлу, изменения содержимого файла и изменения inode.Ссылки на блоки данных на диске, где фактически хранится содержимое файла. Счетчик жестких ссылок, указывающий, сколько раз файл имеет имя в файловой системе.

Как работают inode:

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

Зачем нужны inode:

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

Ну и куда же без картинок

Untitled

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

Жёсткие ссылки (Hard Links):

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

Символические ссылки (Symbolic Links или Symlinks):

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

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