Основы Linux: дерево каталогов, файловые системы и файлы

YOUTUBE · 16.11.2025 07:18

Ключевые темы и таймкоды

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

0:00
  • Файловая система упорядочивает данные на внешнем носителе.
  • Примеры файловых систем: FAT, NTFS, CDFS.
  • Файловая система обеспечивает хранение данных с заданными характеристиками.

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

2:10
  • Дерево каталогов служит для доступа к информации.
  • В Windows информация адресуется буквами дисков, в Unix - через дерево каталогов.
  • Дерево каталогов объединяет файлы с внешних носителей.

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

4:30
  • Сетевые файловые системы, такие как NFS, обеспечивают доступ к файлам на серверах.
  • Файлы на серверах отображаются в дереве каталогов для доступа.
  • Псевдо-файловые системы предоставляют доступ к информации без реальных файлов.

Файловые системы в Unix

6:58
  • В Unix используются различные файловые системы, такие как ext2, ext3, ext4.
  • Эти файловые системы имеют общие черты, несмотря на различия в конкретных реализациях.
  • При инсталляции операционной системы создается структура данных, включающая корневую файловую систему.

Монтирование файловых систем

10:21
  • Монтирование файловой системы присоединяет её к дереву каталогов.
  • Корневая файловая система содержит инсталлированную операционную систему.
  • Домашние каталоги пользователей могут размещаться на других разделах или дисках.

Разделение файловых систем

12:13
  • Пять различных томов и файловых систем формируют дерево каталогов.
  • Для рабочей станции достаточно одной корневой файловой системы.
  • Разделение характерно для серверов для обеспечения надежности и производительности.

Требования к каталогам

12:57
  • Динамические данные требуют высокой скорости, но не надежности.
  • Домашние каталоги требуют высокой надежности, но не производительности.
  • Корневая файловая система требует высокой производительности и надежности.

Разделение дерева каталогов

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

Правила адресации

15:33
  • Дерево каталогов имеет уникальную структуру, что позволяет идентифицировать объекты.
  • Абсолютные и относительные пути используются для адресации.
  • Относительные пути зависят от текущего каталога.

Примеры записи путей

18:13
  • Абсолютные пути записываются слева направо.
  • Относительные пути начинаются с текущего каталога.
  • Пути разделяются символом прямого слэша.

Специальные способы адресации

24:04
  • Текущий каталог обозначается точкой.
  • Родительский каталог обозначается двумя точками.
  • Суперпозиция всех способов адресации корректна.

Практическое применение

26:16
  • Проверка сформированного дерева каталогов и смонтированных файловых систем.
  • Различие между настоящими и псевдофайловыми системами.
  • Различные способы адресации содержимого.

Монтирование файловых систем

26:52
  • Устройство с названием монтируется в корень.
  • Файловая система на этом устройстве смонтирована в корень.
  • Тип файловой системы - ext4.

Псевдофайловые системы

27:31
  • Все устройства в Unix выражаются файлами.
  • Псевдофайловые системы - это файловые системы, которые не являются настоящими файлами.
  • Настоящая файловая система - это инсталлированная операционная система на диске.

Примеры устройств

28:30
  • Устройства могут быть SATA, SCSI или SAS.
  • Буква "a" означает первый раздел диска.
  • USB-накопители также могут быть представлены псевдофайловыми системами.

Файловые системы proc и sys

29:00
  • Файловые системы proc и sys предоставляют файловый интерфейс к информации в ядре.
  • Утилиты обращаются к ядру через библиотеки.
  • Доступ возможен к подсистемам ввода-вывода, виртуальной памяти, управления процессами и драйверам.

Псевдофайловая система proc

30:22
  • Псевдофайловая система proc предоставляет информацию о процессах.
  • Утилита ps получает информацию о процессах через файлы.
  • Утилиты lsusb и lshw используют механизм файлов для получения информации о периферийных устройствах.

Утилиты-дрессировщики

31:48
  • Утилиты-дрессировщики позволяют строить трассы системных вызовов и библиотечных вызовов.
  • Эти утилиты помогают понять, как компоненты операционной системы функционируют.
  • Пример: утилита ps показывает список процессов текущего пользователя.

Трассировка утилиты ps

32:43
  • Утилита ps открывает значительное количество файлов в каталоге proc.
  • Эти файлы содержат информацию о процессах и их состоянии.
  • Файлы могут быть нулевыми по размеру, но содержат важную информацию.

Работа с большими файлами

33:37
  • Файлы в каталоге proc могут быть большими и не помещаться на экран.
  • Для работы с большими файлами используется команда less.
  • Команда wc помогает подсчитать количество строк в файлах.

Псевдофайловые системы

36:16
  • Псевдофайловые системы генерируют информацию на лету при попытке чтения.
  • Информация о процессах, процессорах и памяти генерируется ядром.
  • Команды, такие как free и ps, используют псевдофайловые системы для получения информации.

Справочная система

37:26
  • Справочная система содержит информацию о системных вызовах и библиотечных вызовах.
  • В пятой секции справочной системы можно найти информацию о форматах файлов.
  • Справочная система помогает понять назначение каталогов и файлов.

Утилиты для работы с периферийными устройствами

40:46
  • Утилиты, такие как lsusb и lspci, используют псевдофайловые системы для работы с периферийными устройствами.
  • Эти утилиты показывают информацию о подключенных устройствах и их производителях.
  • Ядро операционной системы предоставляет информацию утилитам через псевдофайловые системы.

Односложность Unix

45:11
  • Unix реализует все операции файловым способом, что делает его односложным.
  • Псевдофайловые системы помогают выполнять различные операции без необходимости создания дополнительных сущностей.
  • Файл является основой операционной системы, и псевдофайловые системы помогают в этом.

Способы адресации

46:12
  • Использование абсолютных и относительных адресов.
  • Команда cd меняет точку отсчета относительных адресов.
  • Команда pwd показывает текущую точку отсчета.

Относительные и специальные имена

46:45
  • Использование относительных специальных имен для возврата в любой каталог.
  • Корневой каталог является родителем для самого себя.
  • Возможность перехода в любой каталог через относительные имена.

Корректные способы адресации

47:05
  • Совокупность корректных способов адресации.
  • Переход по дереву каталогов без нарушения правил.
  • Возможность оставаться в одном месте дерева.

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

48:12
  • Общие понятия и файловая система UFS.
  • Файлы как основные механизмы в операционной системе.
  • Различные типы файлов на UFS.

Обычный файл

49:04
  • Обычный файл как простейший тип файла.
  • Файлы присутствуют в большинстве современных операционных систем.
  • Альтернативные системы могут использовать записи объекты или коробки вместо файлов.

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

49:53
  • Регулярный файл - это именованная область данных на внешнем носителе.
  • Внешний носитель может быть дисковым и иметь блоки определенной величины.
  • Файл состоит из совокупности блоков, которые можно прочитать и записать.

Метаданные и индексные дескрипторы

52:11
  • У файла есть метаданные, которые хранятся в индексных дескрипторах.
  • Индексные дескрипторы содержат номера блоков и другие свойства файла.
  • Тип файла определяет его назначение и права доступа.

Права доступа и временные метки

53:10
  • Файлы имеют права доступа, владельцев и режимы.
  • Временные метки включают создание, изменение и удаление файла.
  • Изменение одного байта файла считается новым файлом.

Каталог и его структура

57:16
  • Каталог - это служебный файл, который содержит список имен других файлов.
  • Каждому имени файла сопоставляется номер индексного дескриптора.
  • Каталог организует доступ к файлам через их имена.

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

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

Зачем нужны ссылки?

1:05:28
  • Пример с домашней библиотекой: аудио, видео или фотографии.
  • Каталогизация файлов по датам, субъектам или жанрам.
  • Проблема миграции между программами каталогизации.

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

1:06:27
  • Использование символических ссылок для упорядочивания файлов.
  • Пример с каталогами, упорядоченными по алфавиту, жанрам и съемкам.
  • Возможность использования разных каталогов в разных программах.

Повторное упорядочивание

1:08:19
  • Символические ссылки как ответ на ограничения жестких ссылок.
  • Три типа файлов: обычный каталог, символическая ссылка и файл устройства.
  • Файл устройства не имеет дисковых блоков, а использует характеристические числа.

Файлы устройств

1:09:43
  • Файлы устройств не имеют статических данных, только характеристические числа.
  • При чтении файла устройства драйвер устройства организует прямой доступ к данным.
  • Примеры: компакт-диски, мыши, принтеры.

Псевдофайловая система

1:12:38
  • Файлы устройств находятся в каталоге dev.
  • Каталог dev является псевдофайловой системой.
  • При подключении устройства создается соответствующий файл, при отключении исчезает.

Устройства ввода и мультиплексор мышей

1:13:52
  • В каталоге /dev/input есть устройства мышь ноль, мышь один и мультиплексор мышей.
  • Можно читать перемещения с конкретной мыши или со всех сразу.
  • Разграничение доступа к устройствам реализуется через права доступа к файлам.

Права доступа к устройствам ввода

1:15:06
  • Только системные администраторы могут обращаться к мыши.
  • Джойстик доступен для всех пользователей.
  • Для чтения данных с мыши нужно быть системным администратором.

Чтение данных с мыши

1:16:03
  • Мышь используется программами, включая графический интерфейс.
  • Можно использовать команды для чтения данных с мыши.
  • Важно уметь трактовать результаты выполнения программ.

Разделение диска и типы разделов

1:16:55
  • В первом блоке 512 байт находится таблица разделов.
  • В таблице разделов четыре раздела, два из которых заполнены.
  • Типы разделов: 83 и 05.

Доступ к дисковым устройствам

1:18:20
  • Дисковые устройства доступны для чтения и записи членам группы disk.
  • Пользователи по умолчанию являются членами группы disk.
  • Для доступа к дискам нужно включить пользователей в группу disk.

Межпроцессное взаимодействие

1:19:56
  • Процессы не могут общаться напрямую, требуется межпроцессное взаимодействие.
  • Именованные каналы используются для передачи данных между процессами.
  • Именованные каналы обслуживаются системой управления процессами.

Применение именованных каналов

1:22:05
  • Именованные каналы позволяют процессам эффективно общаться.
  • Процессы могут использовать один и тот же канал в разных направлениях.
  • Пример: утилита halt передает команду процессу init для перезагрузки системы.

Именованные каналы в Linux

1:23:13
  • В Linux именованные каналы используются для управления процессами.
  • Можно увидеть именованные каналы с помощью команды ls -l.
  • Именованные каналы помогают процессам взаимодействовать.