Если пользователь Windows решит впервые запустить Linux, при первом открытии терминала он увидит загадочные команды: «/etc», «/var», «/usr», «/bin». И не поймет, зачем столько папок с непонятными именами, где хранятся документы и программы.
Структура файловой системы Linux — это продуманная архитектура с понятной логикой. Стоит один раз разобраться, и всё встанет на свои места. Вы поймете, где искать настройки, куда система складывает логи и почему нельзя просто удалить случайную директорию.
Что такое файловая система и почему она именно такая
Файловая система — это способ, которым операционная система организует данные на диске. Можно сравнить её с библиотекой: книги не валяются кучей, а стоят на полках по разделам. В Linux эта библиотека устроена иначе, чем в Windows. Нет привычных дисков «C:», «D:», «E:». Вместо этого всё начинается с одной точки — корня, который обозначается простым символом косой черты: «/»
Файловая система Linux выросла из Unix — операционной системы, созданной еще в 1970-х. Тогда компьютеры были дорогими, и за одной машиной работали десятки людей через терминалы. Требовалась жесткая структура, чтобы пользователи не мешали друг другу, а администратор мог контролировать доступ. Эта философия сохранилась до сих пор. Устройство файловой системы Linux подчиняется принципу единого дерева: все файлы и папки растут из одного корня, а не разбросаны по отдельным дискам.
В Linux почти всё представлено файлами. Даже ваша мышка, принтер или жесткий диск — это файлы в специальных папках.
Корневая директория: начало всех путей
Корневая файловая система Linux — это фундамент, на котором стоит всё остальное. Символ «/» обозначает самый верхний уровень. Отсюда начинаются все пути к файлам и папкам. Когда вы пишете «/home/user/documents», это означает: начни от корня, зайди в каталог home, потом в user, потом в documents. Такой путь называется абсолютным — он всегда ведет к одному и тому же месту, откуда бы вы ни стартовали.
Есть и относительные пути. Если вы уже находитесь в папке «/home/user», можно просто написать documents без начальной косой черты. Система поймет, что нужно искать относительно текущего места.
Корень содержит несколько десятков папок первого уровня. У каждой своя роль. Нельзя просто взять и переименовать «/etc» в «/settings» — система перестанет работать. Названия и назначение директорий стандартизированы. Это значит, что на любом дистрибутиве Linux (Ubuntu, Fedora, Arch) структура будет узнаваемой. Администратор, переходящий с одной системы на другую, сразу ориентируется, где что лежит.
Зайдите в корень командой «cd /» и посмотрите содержимое командой «ls». Вы увидите примерно 20 папок. Каждая отвечает за свой участок работы операционной системы.
Главные директории и их назначение
Теперь разберем основные папки корневой файловой системы. Это важная часть для понимания того, как устроены директории Linux — объясняем на базовых командах.
/bin и /usr — программы, которыми вы пользуетесь
В папке «/bin» живут базовые команды, без которых система не запустится:
- ls (показать файлы);
- cd (сменить каталог);
- cp (копировать);
- rm (удалить).
Такого набора достаточно для работы в консоли. Эти программы хранятся отдельно от остальных, потому что нужны для восстановления системы. Если что-то сломается и другие диски не смонтируются, базовые инструменты всё равно останутся доступны для ремонта.
Папка «/usr» намного больше. Здесь хранятся программы, библиотеки, документация — всё, что нужно пользователю для работы. Внутри «/usr» есть своя структура:
- «/usr/bin» для приложений;
- «/usr/lib» для библиотек кода;
- «/usr/share» для общих данных.
Когда вы устанавливаете браузер, например, Firefox, его файлы раскидываются по разным местам. Сама программа попадает в «/usr/bin/firefox», изображения кнопок интерфейса в «/usr/share», файлы русского языка тоже в «/usr/share», а личные настройки — в вашу домашнюю папку.
/etc — настройки системы
Название «/etc» расшифровывается как “et cetera”, что переводится «и так далее». Исторически сюда складывали всё, что не подходило под другие категории. Со временем эта директория стала домом для конфигурационных файлов. Хотите изменить сетевые настройки? Редактируйте файл в «/etc». Нужно добавить пользователя в группу? Файл «/etc/group» вам в помощь.
В этой папке находятся настройки программ. Веб-сервер Apache ищет конфигурацию в «/etc/apache2», сетевой менеджер — в «/etc/network». Эти настройки общесистемные, влияющие на всех пользователей. Личные настройки каждого человека лежат в другом месте — в домашней папке «/home» в скрытых файлах.
/home — ваше личное пространство
Каталог «/home» похож на многоквартирный дом. Каждый пользователь получает свою квартиру — папку с именем учетной записи. Если вы указали имя «Ivan», ваша папка будет называться «/home/ivan». Здесь хранятся документы, загрузки, музыка, личные настройки программ. Другие жильцы (пользователи) не могут залезть в вашу квартиру без разрешения.
Это единственное место в системе, где обычный человек может создавать и удалять файлы без риска что-то сломать. Всё остальное в корневой файловой системе требует прав администратора для изменений.
/var — изменяемые данные
Название происходит от слова “variable” — переменный, изменяемый. В директорию «/var» система пишет данные, которые постоянно меняются во время работы. Сюда попадают логи ошибок и событий (/var/log), кеши программ (/var/cache), очередь печати (/var/spool), базы данных почтового сервера.
Представьте Linux в виде интернет-магазина. Каждый заказ записывается в базу данных в «/var». Каждое посещение сайта фиксируется в логах в «/var/log». Временные загрузки через FTP складываются в «/var/tmp». Эта папка может быстро разрастаться, поэтому опытные администраторы выделяют под неё отдельный раздел диска.
/tmp — временное хранилище
Каталог «/tmp» отведен для файлов-однодневок. Программы используют его как черновик: скачали архив, распаковали во временную папку, установили, удалили черновики. При перезагрузке система может очистить «/tmp» автоматически, поэтому не храните здесь ничего важного.
Любой пользователь может писать в «/tmp». Это удобно для обмена данными между процессами или для работы скриптов, которым нужно где-то держать промежуточные результаты.
/dev — устройства как файлы
Философия Unix гласит: всё есть файл. Устройства — не исключение. В папке «/dev» вы найдете файлы, которые представляют:
- Жесткие диски (/dev/sda, /dev/sdb);
- Разделы накопителя (/dev/sda1, /dev/sda2);
- Usb-флешки;
- Веб-камеры;
- Звуковые карты;
- Генераторы случайных чисел (/dev/random).
/mnt и /media — точки подключения
Когда вы вставляете флешку в Windows, она появляется как диск «E:» или «F:». В Linux папка «/media» используется для автоматического монтирования съемных носителей. Вставили флешку — она появилась в «/media/username/флешка». Вынули — папка исчезла.
Директория «/mnt» предназначена для ручного монтирования. Системный администратор может примонтировать сетевой диск или дополнительный раздел жесткого диска в «/mnt/backup» или «/mnt/network». Это временные точки монтирования, которые настраиваются вручную.
Можно примонтировать огромный диск с архивами в любую папку: хоть в «/home/user/archive», хоть в «/var/backup». Структура остается единой, независимо от физического количества дисков.
Права доступа и владение файлами
Linux родился как многопользовательская система. Десятки людей работают на одной машине — нужно разделить права, чтобы один случайно не удалил файлы другого. Поэтому у каждого файла и папки есть владелец с набором прав: кто может читать, кто может писать, кто может запускать.
Когда вы создаете файл в своей домашней директории, владельцем становитесь вы. Другие пользователи не смогут его открыть без разрешения. Это защищает личные данные. А вот файлы в «/bin» или «/usr» принадлежат суперпользователю «root», и менять их может только он.
Права обозначаются комбинацией букв: r (read — чтение), w (write — запись), x (execute — выполнение). Права назначаются трем группам: владелец, группа, остальные. Например, права «rwxr-xr-x» означают: владелец может всё, группа и остальные могут читать и запускать, но не могут изменять.
Ядро операционной системы проверяет права при каждой попытке доступа к файлу. Если пользователь пытается удалить файл в «/etc» без прав администратора, ядро откажет в операции. Это действие спасает систему от случайных и намеренных поломок.
- chmod (изменить права);
- chown (изменить владельца);
- chgrp (изменить группу).
Например, набрали «chmod +x script.sh» — и файл скрипта теперь можно запускать как программу.
Система прав поначалу кажется сложной. Но вы можете настроить доступ так, как нужно: разрешить одному пользователю читать файл, другому — редактировать, третьему — вообще скрыть его существование.
Практические примеры навигации
Откройте терминал — это окно, где вы вводите команды текстом. В Linux большинство административных задач решается здесь.
Первым делом узнайте, где вы находитесь. Наберите «pwd» (print working directory) и нажмите Enter. Система покажет текущий путь, например «/home/Ivan». Это ваша стартовая позиция.
Теперь посмотрите содержимое каталога командой «ls». Увидите список файлов и папок:
- Documents;
- Downloads;
- Pictures.
Добавьте флаг «-l» к команде (ls -l), и получите подробную информацию: права доступа, владельца, размер, дату изменения.
Если хотите перейти в другую папку, используйте «cd» (change directory). Например, «cd Documents» переместит вас в папку с документами. Команда «cd …» поднимет на уровень вверх. Команда «cd /» отправит в корень файловой системы.
Попробуйте такой путь: зайдите в корень (cd /), посмотрите содержимое (ls), перейдите в «/etc» (cd etc), посмотрите настройки (ls). Вернитесь домой одной командой «cd ~» — символ тильды обозначает вашу домашнюю директорию.
Если ищите файл, но не помните, где он лежит, попробуйте команду «find». Например, «find /home -name “report.pdf”» найдет файл «report.pdf» во всех подпапках «/home». Для поиска текста внутри файла используется команда «grep».
Для копирования файлов используйте «cp». Команда «cp /home/ivan/file.txt /tmp/» скопирует файл во временную папку. Команда «mv» перемещает или переименовывает: «mv oldname.txt newname.txt».
Консоль кажется архаичной после графических интерфейсов, но она быстрее и мощнее. Одной строчкой можно сделать то, на что в графическом менеджере уйдет минута кликов. А для удаленного управления сервером терминал — единственный вариант.
Не бойтесь экспериментировать в своей домашней папке. Там вы не сломаете систему. А вот команды с «sudo» (выполнить от имени администратора) требуют осторожности. Команда «sudo rm -rf /» удалит вообще всё — это классическая шутка среди линуксоидов, но на самом деле современные системы защищены от такого троллинга.
Заключение
Освоив структуру по аналогии единого дерева с корнем вместо разрозненных дисков, вы сможете уверенно работать в терминале, настраивать серверы, автоматизировать задачи.
Структура файловой системы Linux логична и продумана — пробежимся по основным файлам:
- Программы живут в «/bin» и «/usr»;
- Настройки в «/etc»;
- Личные данные в «/home»;
- Изменяемые файлы в «/var»;
- Временные черновики в «/tmp»;
- Устройства, представленные файлами в «/dev».
Дальше можно изучать отдельные команды глубже, разбираться с правами доступа, учиться монтировать разделы и настраивать сетевые службы. Но фундамент заложен. Вы знаете, где что искать, и понимаете логику организации файлов. Добро пожаловать в мир Linux — теперь вы говорите на его языке.
Хотите стать автором студенческих работ и работать из любой точки мира, или вы хотите заказать решение задач по информатике? Обращатесь на Студворк!
Комментарии