Ubuntu — одна из самых популярных операционных систем семейства Linux, и ключевую роль в её работе играет файловая система. Файловая система отвечает за организацию, хранение и управление файлами на носителях информации. В этой статье подробно рассмотрим структуру каталогов Ubuntu, основные типы файловых систем, применяемых в ОС, а также систему прав доступа к файлам и каталогам.
1. Структура каталогов Ubuntu
В отличие от Windows, где каждый диск содержит свою иерархию (например, C:\, D:\), в Linux (включая Ubuntu) существует единая иерархическая структура, начинающаяся с корневого каталога /.
Основные каталоги в корне /
- / — корневой каталог, самый верхний уровень файловой системы.
- /bin — основные исполнительные файлы и утилиты (bash, ls, cat), доступные для всех пользователей.
- /sbin — системные исполнительные программы для администратора (root), например, команды для настройки системы.
- /usr — второй основной раздел, содержит пользовательские программы, библиотеки и документацию.
- Внутри есть /usr/bin (программы), /usr/lib (библиотеки), /usr/share (архив данных).
- /var — переменные данные, которые изменяются во время работы системы (логи, базы данных, очереди печати).
- /etc — конфигурационные файлы системы и приложений.
- /home — домашние каталоги пользователей, например `/home/ivan`.
- /root — домашний каталог суперпользователя (root).
- /tmp — временные файлы, очищаются при перезагрузке.
- /dev — специальные файловые устройства (например, диски, порты).
- /mnt и /media — точки монтирования для внешних устройств и временных файловых систем.
- /lib — системные библиотеки, необходимые для загрузки и работы основных системных программ.
- /opt — дополнительные, сторонние приложения.
Пример просмотра структуры
ls -l /
Вывод может выглядеть так:
drwxr-xr-x 2 root root 4096 Apr 12 08:20 bin
drwxr-xr-x 3 root root 4096 Apr 12 08:20 etc
drwxr-xr-x 2 root root 4096 Apr 12 08:20 home
drwxr-xr-x 2 root root 4096 Apr 12 08:20 root
drwxr-xr-x 2 root root 4096 Apr 12 08:20 tmp
drwxr-xr-x 2 root root 4096 Apr 12 08:20 usr
drwxr-xr-x 2 root root 4096 Apr 12 08:20 var
2. Типы файловых систем в Ubuntu
Ubuntu поддерживает множество типов файловых систем. Рассмотрим наиболее важные:
2.1. ext4 (Fourth Extended Filesystem)
- Стандартная файловая система Ubuntu.
- Хорошо оптимизирована, поддерживает большие файлы и разделы.
- Журналируемая (journaled) — предотвращает ошибки при сбоях.
- Поддержка прав и атрибутов Linux.
2.2. ext3, ext2
- Предшественники ext4.
- ext3 — с журналированием, ext2 — без.
- Могут использоваться для совместимости.
2.3. NTFS
- Файловая система Windows.
- Ubuntu умеет читать и писать в NTFS через драйвер ntfs-3g.
- Используется при работе с внешними дисками, разделами Windows.
2.4. FAT32 и exFAT
- Используются на флешках, внешних носителях.
- FAT32 имеет ограничения на размер файла (до 4 ГБ).
- exFAT — более современный формат, поддерживает большие файлы.
2.5. Btrfs
- Современная файловая система с поддержкой снапшотов, сжатием и проверкой целостности.
- Экспериментально используется в некоторых дистрибутивах.
3. Типы файлов в Ubuntu
В Ubuntu, как и в других Unix-подобных системах, всё является файлом:
- Обычные файлы — с данными, текстовые, бинарные.
- Каталоги (директории) — содержат ссылки на другие файлы и каталоги.
- Символические ссылки (symlinks) — ссылки на другие файлы или каталоги.
- Специальные файлы устройств — отображают устройства (например, /dev/sda — жесткий диск).
- Трубопроводы (pipes) и сокеты — объекты для межпроцессного взаимодействия.
4. Права доступа в Ubuntu
Каждый файл или каталог имеет три типа доступа для трех категорий пользователей:
Категории:
- Владелец (user, u) — обычно создатель файла.
- Группа (group, g) — группа пользователей.
- Другие (others, o) — все остальные пользователи.
Права:
- Чтение (r, read) — просмотр содержимого файла или каталога.
- Запись (w, write) — изменение файла или содержимого каталога.
- Выполнение (x, execute) — выполнение файла как программы или переход в каталог.
Просмотр прав
ls -l /home/ivan/файл.txt
Пример вывода:
-rw-r--r-- 1 ivan ivan 1024 Apr 10 12:00 файл.txt
-rw-r--r-- — это права доступа:
- - — тип файла (одинарный дефис — обычный файл).
- rw- — права владельца: читать, писать.
- r-- — права группы: читать.
- r-- — права остальных: читать.
Изменение прав: команда chmod
Пример: сделать файл исполняемым для владельца:
chmod u+x файл.txt
Или установить права числом:
chmod 755 скрипт.sh
Где 7 = rwx, 5 = r-x.
Изменение владельца: команда chown
sudo chown ivan:ivan файл.txt
Меняет владельца и группу.
5. Примеры использования
Создание файла и установка прав
touch myscript.sh # Создать файл
chmod 700 myscript.sh # Только владелец может читать/писать/исполнять
Просмотр смонтированных файловых систем
df -h
Пример вывода:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 28G 42% /
tmpfs 2.0G 1.2M 2.0G 1% /run
/dev/sdb1 100G 60G 35G 65% /mnt/data
Монтирование внешнего диска с NTFS
sudo mount -t ntfs-3g /dev/sdc1 /media/usb
Заключение
Файловая система Ubuntu — это основа организации хранения данных и работы приложений. Структура каталогов помогает систематизировать файлы и упростить навигацию. Типы файловых систем обеспечивают оптимальное использование носителей с учётом задач. Права доступа и владение файлами гарантируют безопасность и контроль над ресурсами системы.
Понимание этих концепций важно как для системных администраторов, так и для рядовых пользователей Ubuntu. Это позволяет эффективно работать с системой, предотвращать ошибки и решать возникающие проблемы.