Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Линукс Все 7 лекций.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
115 Кб
Скачать
☆

Тема 4: Файловая система Linux.

Вид занятия: комбинированное занятие

Учебные вопросы:

1. Основные понятия: корневой каталог, точка монтирования, домашний каталог.

2. Типы файлов. Обычные файлы. Каталоги. Файлы устройств. Команды ls.

3. Навигация по файловой системе: команды cd, pushd, popd, pwd.

4. Создание, удаление и копирование файлов. Команды touch, rm, cp.

5. Операции с каталогами. Команды mkdir и rmdir.

6. Важнейшие каталоги файловой системы Linux.

Литература:

1. Робачевский а.М. «Операционная система Unix®». – сПб.: бвх – Санкт-Петербург, 1999. – 528 с., ил.

2. Армстронг (мл.) Джеймс. «Секреты Unix®» : 2-е изд.: Пер. С англ.: Уч. Пос. – м.: Издательский дом «Вильямс», 2000. – 1072 с.: ил. – Парал. Тит. Англ.

3. Паркер Тим. «Linux 5.2. Энциклопедия пользователя»: Пер. С англ. – к.: Издательство «ДиаСофт», 1999. – 688 с.

Ход занятия.

1. Основные понятия: корневой каталог, точка монтирования, домашний каталог. Файловая система Linux, в отличие от операционных систем семейства Windows не разделена по томам (дискам, устройствам), а имеет единую древовидную структуру, в основе которой лежит корневой каталог. Корневой каталог - это уровень файловой системы, выше которого по дереву каталогов подняться невозможно. В Linux корневой каталог обозначается как / (именно / - слэш, а не \ - обратный слэш). Система позволяет устанавливать много корневых каталогов. Так, например, для некоторого пользователя ftp /home будет корневым каталогом и при обращении к клиенту ftp сменить каталог на корневой пользователь будет попадать в /home.

Как разные физические устройства участвуют в формировании единой файловой системы?

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

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

2. Типы файлов. Обычные файлы. Каталоги. Файлы устройств. Команды ls.

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

^ Основные типы файлов:

- простой файл

d каталог

l ссылка

b блочное устройство

с символьное устройство

Объясняет понятие скрытых файлов, а также каталогов «.» и «..». Показывает разницу между командой ls и ls –a.

3. Навигация по файловой системе: команды cd, pushd, popd, pwd.

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

Рис. 3.1. Дерево каталогов в Linux

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

- Файловая система /usr содержит все команды, библиотеки, man-страницы, исходные тексты и другие неизменяемые файлы, необходимые для нормальной работы системы. Никакие файлы в /usr не должны быть специфическими для любой конкретной машины, и при этом они не должны измениться при нормальном использовании. Это позволяет файлам быть разделенными по сети, что может быть практично, так как это сохраняет дисковое пространство (могут легко иметься сотни мегабайт в /usr) и упрощает администрирование (только машина, на которой хранится /usr, должна быть изменена при модификации прикладной программы, а не каждая машина отдельно). Даже если файловая система находится на локальном диске, она может быть установлена только для чтения, что уменьшит возможность искажения в случае отказа.

- Файловая система /var содержит файлы, которые изменяются в ходе работы системы. Например, там лежат каталоги буферов для почты, новостей, печати и т.п., файлы протоколов, форматированных man-страниц и временные файлы.

- Файловая система /home содержит все домашние каталоги пользователей системы, то есть, все реальные данные системы. Отделение пользовательских каталогов от системы упрощает резервирование данных. Если пользователей много, эта файловая система может быть разделена на несколько (например, /home/students и /home/teacher).

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

Корневая файловая система

Файловая система root должна быть небольших размеров, так как она содержит важные файлы и команды. Чем меньше объем файловой системы и чем реже она подлежит изменениям, тем меньше вероятность ее повреждения. Если система root повреждена, то обычно это означает, что начальная загрузка компьютера невозможна (кроме отдельных методов, например при помощи дискет).

Файловая система дистрибутива имеет архитектуру классической файловой системы ОС Linux с единым корневым каталогом, обозначаемым символом обратной косой черты ("слэш") — /.

Ниже приведено описание основных каталогов верхнего уровня.

/bin - В этом каталоге хранятся основные команды, необходимые пользователю для работы в системе. Например, такие как командные оболочки и команды файловой системы (ls, cp и т.д.). Каталог /bin обычно не изменяется после установки. Если изменяется, то обычно лишь при обновлениях пакетов программ, предоставленных разработчиками операционной системы.

/boot - В этом каталоге хранятся файлы, используемые загрузчиком ОС — LInux LOader (LILO). Этот каталог так же практически не изменяется после установки.

/dev - В этом каталоге размещены описания устройств системы. В Linux всё рассматривается, как файл, даже различные устройства, такие как последовательные порты, жёсткие диски и сканеры. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл, называемый device node. Все эти файлы находятся в каталоге /dev. Аналогично устроено большинство UNIX-подобных операционных систем.

/etc - Этот каталог содержит файлы настроек: всё, от конфигурационных файлов системы X Window, базы данных пользователей и до стартовых сценариев.

/home - В этом каталоге размещены домашние каталоги пользователей. Linux является многопользовательской системой и каждому пользователю присваивается имя и уникальный каталог для персональных файлов. Этот каталог называется "home" (домашним) каталогом пользователя.

/lib - В этом каталоге находятся системные библиотеки, необходимые для основных программ: библиотека C, динамический загрузчик, библиотека ncurses, модули ядра и другое.

В любой файловой системе Linux всегда есть только один корневой каталог, который называется "/". Пользователь Linux всегда работает с единым деревом каталогов, даже если разные данные расположены на разных носителях: нескольких жестких или сетевых дисках, съемных дисках, CD-ROM и т. п.5) Для того чтобы отключать и подключать файловые системы на разных устройствах в состав одного общего дерева, используются процедуры монтирования и размонтирования. После того, как файловые системы на разных носителях подключены к общему дереву, содержащиеся на них данные доступны так, как если бы все они составляли единую файловую систему: пользователь может даже не знать, на каком устройстве какие файлы хранятся.

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

pwd – показывает полное имя каталога, в котором находится пользователь.

cd – изменяет текущий каталог на указанный. cd без параметров или с параметром ~ изменяет текущий каталог на домашний. cd с параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов.

pushd, popd – эти команды работают в связке. Команда pushd изменяет каталог на указанный. pushd c параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов. Основное отличие этой команды от cd в том, что вся история смены каталогов запоминается в стек и потом может быть использована для быстрой обратной навигации с помощью команды popd.

4. Важнейшие каталоги файловой системы Linux. Файловая система Linux, как и любой другой unix-подобной операционной системы, имеет строгую структуру каталогов. Каждый дистрибутив Linux может несколько изменять структуру в зависимости от предпочтений разработчиков. Мы рассмотрим те каталоги, которые используются в каждом дистрибутиве:

Имя каталога

Описание

/bin

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

/boot

содержит ядро операционной системы и карты загрузки, а также конфигурационные файлы загрузчиков (lilo, grub)

/dev

содержит файлы, которые являются интерфейсом с периферийными устройствами

/etc

содержит основные файлы настроек приложений Linux

/home

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

/lib

содержит основные библиотеки, необходимые для нормальной работы системы

/mnt

содержит каталоги – точки монтирования переносимых файловых систем (floppy, cdrom, etc.)

/tmp

в этом каталоге находятся временные файлы, используемые запущенными в данный момент процессами

/usr

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