Быстрый, компактный и надёжный Linux дистрибутив

Какие типы файлов бывают в Linux?

Какие типы файлов бывают в Linux?

Для удобства в Linux существует несколько различных типов файлов:

  • обычные файлы;
  • каталоги;
  • жесткие и символические ссылки;
  • файлы блочных устройств;
  • файлы символьных устройств;
  • файлы loop-устройств;
  • локальные сокеты;
  • именованные каналы.

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

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

Жесткие и символические ссылки позволяют создавать несколько видимостей одного файла при том, что реально будет существовать только одна копия, на которую все остальные будут только ссылаться. Отличие между жесткими и символическими ссылками состоит в том, что символическая ссылка привязана только к пути, а жесткая – непосредственно к файлу, что реализовано средствами файловой системы, и будет оставаться действительной даже при перемещении файла. Это напоминает ситуацию с телефоном: от человека можно получить информацию, позвонив ему на домашний телефон (символическая ссылка); если человека часто не бывает дома, то для достижения того же результата ему можно позвонить на мобильный (жесткая ссылка).

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

Loop-устройства представляют особый интерес, так как позволяют выдавать фактически не существующий носитель данных за существующий. Классическим примером является монтирование образа диска как реального устройства. Обычно loop-устройства находятся в каталоге /dev под названиями loop0, loop1 и т. д. В некоторых источниках loop-устройства также называют кольцевыми и петлевыми.

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