Цель урока: Понять, как организована файловая система в Linux, и освоить базовые команды для перемещения по ней. Это как научиться читать карту, прежде чем отправиться в путешествие.
Часть 1: Теория. Как устроен мир файлов в Linux?
В отличие от Windows с ее дисками C:, D: и так далее, в Linux всё устроено иначе. Главный принцип, который нужно запомнить: "В Linux почти всё представлено как файл или файловый объект (сокет, канал и т.п.)". Устройства (диски, клавиатура), сетевые подключения, процессы - всё представлено в виде файлов, расположенных в единой древовидной структуре.
У этого дерева есть корень, который обозначается как / (слэш). Все остальные файлы и каталоги (папки) являются его ветвями.
Структура каталогов не хаотична, она стандартизирована и называется FHS (Filesystem Hierarchy Standard). Знание основных каталогов - это ключ к быстрому поиску нужных файлов и пониманию, где что лежит.
Вот самые важные каталоги, с которыми вы будете постоянно работать:
-
/
- Корень (root directory): Самый главный каталог. Начало всего. -
/root
- Домашний каталог суперпользователя root: Когда вы входите в систему как root, вы попадаете именно сюда. Ваши личные файлы как администратора лежат здесь. -
/home
- Домашние каталоги пользователей: Здесь для каждого обычного пользователя (например, ivan, maria) создается свой каталог (/home/ivan, /home/maria), где он хранит свои файлы. -
/usr
- Операционная система: Большинство программ, библиотек и документации, установленных из репозиториев дистрибутива. Содержимое редко изменяется во время работы. -
/etc
- Конфигурационные файлы: Сердце настроек всей вашей системы и программ. Хотите поменять настройки веб-сервера, SSH или базы данных? Вам сюда. Название происходит от "etcetera" (и так далее). Расшифровка “Editable Text Configuration” - популярный миф, у названия нет официальной аббревиатуры. -
/var
- Изменяемые данные (Variable files): Здесь хранится то, что постоянно меняется. Самое важное для администратора:-
/var/log
- Журналы (логи): Записи обо всем, что происходит в системе. Ошибки, попытки входа, работа программ - всё протоколируется здесь. Это главный инструмент для диагностики проблем. -
/srv
или/var/www/html
- Файлы сайтов: Типичное место DocumentRoot для Apache в Debian/Ubuntu. Точный путь задаёт конфиг вашего веб‑сервера и не стандартизован FHS.
-
-
/usr/bin
- Большинство пользовательских команд (ls, cp, mkdir). -
/usr/sbin
- Админ‑утилиты (часто не входят в $PATH обычных пользователей). -
/bin
и/sbin
в современных дистрибутивах - это символические ссылки на /usr/bin и /usr/sbin, поэтому не удивляйтесь, увидевlrwxrwxrwx
приls -l /bin
. -
/tmp
- Временные файлы: Сюда программы и система складывают временные файлы. Очистка и сроки хранения регулируются systemd‑tmpfiles или cron‑скриптами и зависят от дистрибутива.
Часть 2: Практика. Команды для ориентирования в пространстве
Подключитесь к своему серверу по SSH. Сейчас мы изучим три кита навигации.
1. pwd (Print Working Directory) - Где я нахожусь?
Эта команда показывает ваш текущий рабочий каталог (полный путь от корня /).
-
Пример (сразу после входа в систему под root, выполните):
pwd
-
Результат:
/root
Система говорит: "Вы находитесь в каталоге /root".
2. ls (List) - Что вокруг меня?
Эта команда показывает содержимое текущего каталога (файлы и другие каталоги). У нее есть полезные опции (ключи):
-
ls -l
- Показать детальный список. -
ls -a
- Показать все файлы, включая скрытые (те, что начинаются с точки .). -
ls -h
- Показать размеры файлов в "человекочитаемом" виде (килобайты, мегабайты). Используется совместно с-l
или-s.
Опции можно и нужно комбинировать. Самый частый вариант: ls -lah
.
-
Пример:
# Посмотрим, что лежит в каталоге /etc ls -lah /etc
-
Результат (фрагмент):
drwxr-xr-x 133 root root 12K июл 18 10:45 . drwxr-xr-x 19 root root 4.0K июн 29 07:15 .. -rw-r--r-- 1 root root 3.0K апр 12 2022 adduser.conf -rw-r--r-- 1 root root 755B сен 23 2021 debian_version drwxr-xr-x 2 root root 4.0K июл 18 10:45 default drwxr-xr-x 4 root root 4.0K июн 29 07:16 ssh
-
drwxr-xr-x - тип и права доступа ( d означает directory/каталог).
-
root root - владелец и группа.
-
12K - размер (благодаря ключу -h).
-
июл 18 10:45 - дата последнего изменения.
-
ssh - имя файла или каталога.
-
Ещё один пример вывода команды ls -lah /etc
3. cd (Change Directory) - Идём гулять!
Эта команда изменяет ваш текущий рабочий каталог.
-
cd /путь/к/каталогу
- Перейти в указанный каталог по абсолютному пути (от корня /). -
cd имя_каталога
- Перейти во вложенный каталог по относительному пути (относительно текущего места). -
cd ..
- Подняться на один уровень вверх. -
cd
(без всего) илиcd ~
- Вернуться в свой домашний каталог (/root
или/home/<user>
). -
cd
- Вернуться в предыдущий каталог, где вы были до этого.
Часть 3: Ключевые понятия. Абсолютные и относительные пути
Это критически важная концепция.
-
Абсолютный путь всегда начинается с /. Он указывает точное местоположение файла или каталога в системе, вне зависимости от того, где вы находитесь сейчас.
-
Пример:
cd /var/log
- эта команда сработает из любой точки системы и всегда приведет вас в /var/log.
-
-
Относительный путь никогда не начинается с
/
. Он отсчитывается от вашего текущего местоположения.-
Пример: если вы находитесь в /var, то команда
cd log
приведет вас в /var/log. Но если будете в /home,cd log
выдаст ошибку, так как каталога log внутри /home нет.
-
Понимание командной строки:
Обратите внимание на вашу командную строку: root@my-server:~#
-
root - текущий пользователь.
-
my-server - имя хоста (сервера).
-
~ - текущий каталог. Тильда ~ это сокращение для домашнего каталога. Если вы перейдете в /etc, то тильда сменится на /etc.
-
# - символ означает, что вы работаете с правами суперпользователя root. У обычных пользователей там будет знак $.
Итоги урока и домашнее задание
-
Что мы узнали:
-
В Linux почти всё - файл или файловый объект, и всё находится в едином древовидном каталоге с корнем /.
-
Мы познакомились со стандартом FHS и знаем назначение ключевых каталогов (/etc, /var/log, /home).
-
Мы освоили три главные команды навигации:
pwd, ls и cd
. -
Мы поняли разницу между абсолютными и относительными путями.
-
-
Ваше второе задание:
-
Подключитесь к серверу.
-
С помощью
pwd
убедитесь, что вы находитесь в своём домашнем каталоге (для root это `/root`, для обычного пользователя - `/home/имя`). -
Перейдите в корневой каталог
/
. Как изменилась ваша командная строка? -
Используя команду
ls -l
, посмотрите на его содержимое. Найдите знакомые каталоги: etc, home, var. -
Перейдите в каталог /var/log, используя абсолютный путь.
-
Посмотрите его содержимое с помощью
ls -lah
. Вы увидите много файлов с расширением .log. Это и есть журналы системы. Часть файлов может не иметь.log
, а логи systemd лежат вjournal/
. -
Вернитесь в свой домашний каталог, используя команду cd без аргументов.
-
Теперь доберитесь до того же каталога `/var/log` относительными путями, используя команду
cd ..
столько раз, покаpwd
не покажет `/`, а затемcd var
иcd log
. -
Используйте `
cd -
`, чтобы вернуться в предыдущий каталог (не обязательно в домашний, а туда, где вы были до последнего `cd`).
-
Экспериментируйте! "Сломать" систему этими командами невозможно. Чем больше вы будете "гулять" по каталогам, тем быстрее вы начнете чувствовать себя как дома.
На следующем уроке мы научимся создавать, просматривать и удалять файлы и каталоги.
Перейти к просмотру - УРОК №3.
Промо-код: PROMO15 — скидка 15%!
Введите при оформлении первого заказа на сайте: Hosting-VDS.com