Файловая система linux ubuntu

Файловая система linux ubuntu

Главное меню » Операционная система Linux » Переход на Linux. Диски, файлы и файловые системы

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

Где мой C:?

Если вы работаете с Mac, Linux должен чувствовать себя достаточно знакомым вам, поскольку Mac использует файлы, файловые системы и диски довольно близко к тому, как это делает Linux. С другой стороны, если ваш опыт – это в первую очередь Windows, доступ к дискам под Linux может показаться немного запутанным. Как правило, Windows назначает букву диска (например, C:) на каждый системный диск. Linux не делает этого. Вместо этого Linux представляет собой единую иерархию файлов и каталогов для всего, что есть в вашей системе.

Давайте посмотрим на пример. Предположим, вы используете компьютер с основным жестким диском, CD-ROM с папками «Книги и Видео» и флэш-накопитель USB с каталогом «AndreyEx». В Windows вы увидите следующее:

Вместо этого типичная система Linux:

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

Файловая система

Linux подчеркивает то, что называемые файловыми системами. Файловая система представляет собой набор структур на носителях (например, жесткий диск), которые отслеживают все файлы и каталоги на носителе. Без файловой системы мы могли хранить информацию на жестком диске, но все данные были бы в беспорядочном беспорядке. Мы не знали бы, какие блоки данных принадлежат файлу. Возможно, вы слышали такие имена, как Ext4, XFS и Btrfs. Это типы файловой системы Linux.

На всех типах носителей, содержащих файлы и каталоги, есть файловая система. Различные типы носителей могут использовать определенные типы файловой системы, которые оптимизированы для носителя. Поэтому CD-ROM использует типы файловой системы ISO9660 или UDF. USB-накопители обычно используют FAT32, поэтому их можно легко обменивать с другими компьютерными системами.

Windows также использует файловые системы. Он просто не говорит о них столько же. Например, когда вы вставляете CD-ROM, Windows будет читать структуры файловой системы ISO9660, присваивать ему букву диска и отображать файлы и каталоги под буквой (например, D:). Поэтому, если вы разбираетесь в деталях, технически Windows назначает букву диска файловой системе, а не всему диску.

Используя тот же пример, Linux также будет читать структуры файловой системы ISO9660, но вместо буквы диска он подключит файловую систему к каталогу (процесс называется установкой). Затем Linux отобразит файлы и каталоги на компакт-диске в прилагаемом каталоге (например: /media/ /cdrom).

Поэтому, чтобы ответить на вопрос «Где мой C:?»? В Linux нет C:. Он работает по-другому.

Файлы

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

Жесткие ссылки используются для создания одного или нескольких псевдонимов для файла. Каждый псевдоним – это другое имя для одного и того же содержимого на диске. Если вы редактируете файл под одним именем файла, изменения отображаются также под другими именами файлов. Например, вы могли бы AndreyEx_Resume_2018.doc иметь жесткую связь с Resume.doc. (Обратите внимание, что вы можете создать жесткую ссылку, используя команду ln из командной строки.) Таким образом вы можете найти и отредактировать AndreyEx_Resume_2018.doc, а затем отправить AndreyEx_Resume_2018.doc своим потенциальным клиентам, чтобы помочь им отслеживать, что там происходит – который будет содержать все ваши обновления.

Символьные ссылки немного похожи на ярлыки Windows. Запись файловой системы содержит путь к другому файлу или каталогу. Во многих отношениях они работают как жесткие ссылки, поскольку они могут создавать псевдоним для другого файла. Однако символические ссылки могут содержать каталоги псевдонимов, а также файлы, а символические ссылки могут ссылаться на элементы в другой файловой системе на разных носителях, где жесткие ссылки не могут. (Обратите внимание, что вы можете создавать символические ссылки также с помощью команды ln, но с опцией -s .)

Права доступа

Еще одно большое различие между Windows и Linux связано с разрешениями на объекты файловой системы (файлы, каталоги и другие). Windows реализует довольно сложный набор разрешений для файлов и каталогов. Например, пользователи и группы могут иметь разрешения на чтение, запись, выполнение, изменение и т. д. Пользователям и группам может быть предоставлено разрешение на доступ ко всему в каталоге с исключениями или им не разрешено ничего разрешать в каталоге с исключениями.

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

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

Читайте также:  Что делать если заблокировал планшет графическим ключом

Если вы используете командную строку, и вы наберете ls -l, вы можете увидеть разрешения, представленные как:

Буквы в начале, rwxrw-r–, показывают разрешения. В этом случае владелец (andreyex) может читать, записывать и выполнять файл (первые три буквы, rwx); члены группы destroyer могут читать и записывать файл, но не выполнять (второй три буквы, rw-); и все остальные могут читать только файл (последние три буквы, r–).

(Обратите внимание, что в Windows, чтобы сделать исполняемый файл сценария, вы делаете расширение файла чем-то конкретным, например, .bat. В Linux расширение файла ничего не значит для операционной системы. Вместо этого его разрешения должны быть установлены так, чтобы файл является исполняемым.)

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

Файловые системы на жестких дисках

Windows преимущественно использует тип файловой системы NTFS для жестких дисков. В Linux вы можете выбрать, какой тип файловой системы вы хотите использовать для жесткого диска. Различные типы файловых систем отличаются различными характеристиками и различными характеристиками. Основной файловой системой Linux, используемой сегодня, является Ext4. Тем не менее, вы можете выбирать из множества типов файловой системы во время установки, например: Ext3 (предшественник Ext4), XFS, Btrfs, UBIFS (для встроенных систем) и т. д. Если вы не знаете, какую из них использовать, Ext4 будет работать отлично.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

1. Что такое файловая система простыми словами

Термин «файловая система» можно понимать двояко. С одной стороны — это архитектура хранения битов на жестком диске, с другой — это организация каталогов в соответствии с идеологией Unix. В этой статье мы более подробно обсудим первую сторону.

В физическом смысле файловая система Linux/UNIX представляет собой пространство раздела диска разбитое на блоки фиксированного размера. Их размер кратен размеру сектора: 1024, 2048, 4096 или 8120 байт. Размер блока известен заранее.

Как происходит обмен данными между ядром, приложениями и жестким диском? Для этого существуют 2 технологии:

  1. Виртуальная файловая система (VFS). Некий интерфейс, между ядром и файловой системой (ext2, ext4 и т.д.). Это позволяет взаимодействовать ядру и приложениям без особенностей работы конкретного типа ФС. Иногда VFS называют «виртуальным коммутатором файловых систем».
  2. Драйверы файловых систем . Специальные программы, которые устанавливают «мост» (интерфейс) взаимодействия между аппаратурой и программой.

Список поддерживаемых ядром файловых систем находится в файле /proc/filesystems :

Иерархия файловой системы

Как мы уже сказали выше, есть вторая сторона ФС, которая состоит в определении ее с точки зрения организации расположения файлов в Linux. В этом случае можно сказать, что: файловая система — это иерархическая структура, которая начинается с корневого каталога «/» (корневой каталог) и дальше ветвится в соответствие с работой системы.

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

2. Целостность файловой системы — что это такое

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

Проверку целостности файловой системы в Linux можно запустить с помощью команды fsck (в Windows это программа называется – scandisk )

В начале ФС есть чистый бит. Если система используется, то в этот бит заносится 1. По завершению работы опять 0.

3. Список команд для работы с файлами в Linux

Команда Описание
touch file_name Создать файл «file_name»
mkdir directory_name Создать директорию «directory_name»
rm file_name Удалить файл «file_name»
rm -r Удалить рекурсивно все файлы из директории
pwd Вывод каталога в котором сейчас находитесь
ls directory_name Вывести содержание каталога «directory_name» (можно просто ввести ls без имени и тогда выведутся все файлы текущей директории)
cd directory_name Перейти в директорию «directory_name»
cp file_name directory_name Копировать «file_name» в директорию «directory_name»
mv file_name directory_name Переместить «file_name» в директорию «directory_name»
mv old_name new_name Переименовать файл/директорию «old_name» в «new_name»

Права доступа к файлу/каталогу можно изменять с помощью команды chmod:

Таким образом можно изменять права доступа к файлу и каталогам (а также вложенным каталогам и файлам в них).

4. Типы файловых систем Linux — описание и обзор

Файловые системы условно делятся на два типа

  1. Журналируемые . Имеют в своем арсенале специальный файл, который хранит историю действий (лог) и план дальнейшей проверки. Характерной особенностью является устойчивость к сбоям и большая гарантия на сохранение целостности данных.
  2. Не журналируемые . Отсутствует файла с логом. Работают более быстро. Не гарантируют целостность и сохранность данных. Особенно это проблема встает в случае сбоев, когда некоторые действия могли редактировать файл и прервать изменения в неправильном месте.
Читайте также:  Приват24 для бизнеса для юридических лиц

Узнать файловую систему в ОС Linux

Самые популярными типами ФС в Linux являются:

  1. Ext4 (считается стандартом для Linux)
  2. Ext2
  3. ReiserFS
  4. XFS
  5. SWAP

В Windows поддерживаются свои ФС: NTFS, FAT32. Линукс также их поддерживает, а вот Windows не поддерживает линуксовые системы.

1 Extfs (Extended File System). Дата появления на свет апреле 1992 года. Самая первая файловая система разработанная специально для ОС на ядре Linux. Наибольший возможный размер раздела файла — 2 Гб. Максимальная длина имени файла — 255 символов. Является прародителем популярных ФС Ext2, Ext3.

2 Ext2 (second extended file system). Дата создания 1993 год. Является не журналируемой файловой системой. Была популярна до 2000-х. Имеет ряд ограничений на работу с большими файлами, зато является и самой быстрой, поэтому её часто используют в различных сравнительных тестах как эталонную.

3 Ext3 (third extended filesystem). Дата выхода 2001 год. Считается революционной, поскольку относится к поколению журналируемых систем. В настоящее время файловая система Ext3 поддерживает файлы размером до 1 ТБайт. Используется в некоторых случаях до сих пор. Разделы Ext3 могут читать Windows-программы (например, Total Commander). Разработчик Стивен Твид.

4 Ext4 (дата выхода 2006 год). Является стандартом во всех современных Linux (а сейчас 2019 год). Хорошо защищена от проблем фрагментации и оптимизирована для работы с большими файлами. Максимальный размер файловой системы не может превышать 16 ТБайт.

5 ReiserFS (или Reiser3). Создана уже после ext3 в качестве ее альтернативы. Журналируемая система. Поддерживает большую производительность. Позволяет изменять размеры разделов во время работы.

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

6 Reiser4 (дата создания 2004 году). Система включает себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных.

7 XFS (журналируемая файловая система). Это производительная файловая система, разработанная в Silicon Graphics для свой операционной системы еще в 2001 году. Позволяла использовать диски 2 ТБайт. Существует возможность потери данных во время записи при сбое питания, так как большое количество буферов хранится в памяти.

8 Btrfs или B-Tree File System . Журналируемая файловая система. Совершенно новоиспеченная файловая система, которая сосредоточена на отказоустойчивости, свободности администрирования и восстановления данных. К её особенностям относятся хранение индекса файлов в так называемых «B-деревьях» – иерархических структурах, которые максимально оптимально используют ресурсы оперативной памяти за счёт небольшой глубины вложения данных.

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

5. Типы файлов Linux

Перечислим поддерживаемые типы файлов в ОС Linux

  • Файлы (тексты, исходники, картинки, скрипты)
  • Каталоги
  • Блочные устройства (жесткие диски, дискеты)
  • Символьные устройства (терминалы, принтеры)
  • символические ссылки
  • PIPE
  • Гнезда

Тип файла в каталоге можно посмотреть командой:

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

# ls-l /dev/sd* brw-rw—-1 root disk 8, 0 Мар11 19:03 /dev/sda brw-rw—-1 root disk 8, 1 Мар10 21:23 /dev/sda1 brw-rw—-1 root disk 8, 5 Мар10 21:23 /dev/sda5 brw-rw—-1 root disk 8, 16 Мар10 22:31 /dev/sdb brw-rw—-1 root disk 8, 17 Мар10 21:23 /dev/sdb1 brw-rw—-1 root disk 8, 18 Мар10 21:23 /dev/sdb2 brw-rw—-1 root disk 8, 32 Мар11 19:05 /dev/sdc brw-rw—-1 root disk 8, 33 Мар11 17:59 /dev/sdc1

Буквой «b» помечаются блочные устройства.

Посмотреть список дисков можно командой

Вывести информацию о жестком диске можно так

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

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

Жесткий диск и разделы

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

Что такое файловая система?

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

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

Типы файловых систем Linux

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

Читайте также:  Основные команды linux ubuntu

Основные файловые системы

Каждый дистрибутив Linux позволяет использовать одну из этих файловых систем, каждая из них имеет свои преимущества и недостатки:

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

Ext2, Ext3, Ext4 или Extended Filesystem — это стандартная файловая система для Linux. Она была разработана еще для Minix. Она самая стабильная из всех существующих, кодовая база изменяется очень редко и эта файловая система содержит больше всего функций. Версия ext2 была разработана уже именно для Linux и получила много улучшений.

В 2001 году вышла ext3, которая добавила еще больше стабильности благодаря использованию журналирования. В 2006 была выпущена версия ext4, которая используется во всех дистрибутивах Linux до сегодняшнего дня. В ней было внесено много улучшений, в том числе увеличен максимальный размер раздела до одного экзабайта.

JFS или Journaled File System была разработана в IBM для AIX UNIX и использовалась в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов. При разработке файловой системы ставилась цель создать максимально эффективную файловую систему для многопроцессорных компьютеров. Также как и ext, это журналируемая файловая система, но в журнале хранятся только метаданные, что может привести к использованию старых версий файлов после сбоев.

ReiserFS — была разработана намного позже, в качестве альтернативы ext3 с улучшенной производительностью и расширенными возможностями. Она была разработана под руководством Ганса Райзера и поддерживает только Linux. Из особенностей можно отметить динамический размер блока, что позволяет упаковывать несколько небольших файлов в один блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами.

Еще одно преимущество — в возможности изменять размеры разделов на лету. Но минус в некоторой нестабильности и риске потери данных при отключении энергии. Раньше ReiserFS применялась по умолчанию в SUSE Linux, но сейчас разработчики перешли на Btrfs.

XFS — это высокопроизводительная файловая система, разработанная в Silicon Graphics для собственной операционной системы еще в 2001 году. Она изначально была рассчитана на файлы большого размера, и поддерживала диски до 2 Терабайт. Из преимуществ файловой системы можно отметить высокую скорость работы с большими файлами, отложенное выделение места, увеличение разделов на лету и незначительный размер служебной информации.

XFS — журналируемая файловая система, однако в отличие от ext, в журнал записываются только изменения метаданных. Она используется по умолчанию в дистрибутивах на основе Red Hat. Из недостатков — это невозможность уменьшения размера, сложность восстановления данных и риск потери файлов при записи, если будет неожиданное отключение питания, поскольку большинство данных находится в памяти.

Btrfs или B-Tree File System — это совершенно новая файловая система, которая сосредоточена на отказоустойчивости, легкости администрирования и восстановления данных. Файловая система объединяет в себе очень много новых интересных возможностей, таких как размещение на нескольких разделах, поддержка подтомов, изменение размера не лету, создание мгновенных снимков, а также высокая производительность. Но многими пользователями файловая система Btrfs считается нестабильной. Тем не менее, она уже используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

Другие файловые системы, такие как NTFS, FAT, HFS могут использоваться в Linux, но корневая файловая система linux на них не устанавливается, поскольку они для этого не предназначены.

Специальные файловые системы

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

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

procfs — по умолчанию смонтирована в папку proc и содержит всю информацию о запущенных в системе процессах, а также самом ядре.

sysfs — с помощью этой файловой системы вы можете задавать различные настройки ядра во время выполнения.

Виртуальные файловые системы

Не все файловые системы нужны в ядре. Существуют некоторые решения, которые можно реализовать и в пространстве пользователя. Разработчики ядра создали модуль FUSE ( filesystem in userspace), который позволяет создавать файловые системы в пространстве пользователя. К виртуальным файловым системам можно отнести ФС для шифрования и сетевые файловые системы.

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

Aufs (AnotherUnionFS) — позволяет объединять несколько файловых систем (папок) в одну общую.

NFS (Network Filesystem) — позволяет примонтировать файловую систему удаленного компьютера по сети.

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

Выводы

В этой статье мы рассмотрели типы файловых систем Linux. Как видите, здесь все намного запутаннее чем в Windows. Но на самом деле все просто. Если вам нужна максимально стабильная файловая система linux — то лучшим решением будет ext4, хотите новых технологий — btrfs, для маленьких файлов — raiser4, для больших — XFS. А какие файловые системы linux предпочитаете вы? Напишите в комментариях!

На завершение видео о том, что такое файловая система и ее структура в linux:

Ссылка на основную публикацию
Установить gvlk ключ что это
В связи с недавним выходом окончательной RTM версии пакета Microsoft Office 2016, корпоративные заказчики уже могут начинать переход на новую...
Топ вай фай адаптеров для пк
На заре развития интернета люди пользовались только проводным трафиком. После этого в «моду» начали входить модемы, которые подключались к беспроводному...
Топ дешевых наушников с хорошим звуком
Проводные наушники должны умереть! Так решил мобильный рынок и производители смартфонов, стремительно избавляющиеся от устаревшего 3,5 мм джека. Стоит ли...
Установить openal32 dll для windows 7
Данная библиотека задействуется во многих процессах во время работы компьютера. Например, она используется в играх, мультимедиа и различных программах. Иногда...
Adblock detector