Как изучить Linux с нуля: план от первой команды до администрирования сервера
Изучать Linux с нуля удобнее всего по слоям: сначала терминал и файловая система, затем пользователи и права, Bash-скрипты, пакеты, процессы и systemd, после — диски, логи, сеть, SSH и защита сервера. На каждом этапе нужна практика на своей виртуальной машине или дешёвом VPS, а итог — самостоятельно поднятый и защищённый сервер с работающим сервисом.
Изучать Linux с нуля проще, чем кажется, если идти в правильном порядке и сразу практиковаться. Главная ошибка новичков — читать про команды, не набирая их, или прыгать к Docker и Kubernetes, не понимая, что такое процесс и права доступа. Ниже — план из девяти этапов: что изучать, что практиковать и как понять, что этап пройден.
Ориентир по времени — от двух до четырёх месяцев при занятиях по часу в день, но темп у всех разный. Важнее не скорость, а то, что после каждого этапа вы можете сделать что-то руками.
Этап 0. Подготовьте стенд
Linux учат в Linux. Варианты, от простого к реалистичному:
- WSL2 в Windows — терминал Ubuntu за пару минут. Хорошо для команд и скриптов, но systemd и сеть там ведут себя не как на сервере.
- Виртуальная машина (VirtualBox, VMware, UTM на Mac) с серверной Ubuntu или Debian. Можно ломать без последствий и откатываться к снимкам.
- Дешёвый VPS у облачного провайдера. Настоящий сервер с публичным IP — лучший полигон для этапов про сеть и безопасность.
Дистрибутив для старта — Ubuntu Server или Debian: по ним больше всего документации и ответов на вопросы. Графическая оболочка не нужна: серверы администрируют через терминал, привыкайте к нему с первого дня.
Этап 1. Терминал и файловая система
Цель — уверенно перемещаться по системе и работать с файлами без мыши.
- Навигация:
pwd,ls -la,cd, абсолютные и относительные пути,~,.и... - Файлы:
cp,mv,rm,mkdir -p,touch, просмотр черезcat,less,head,tail -f. - Поиск:
find,which,locate. - Справка:
man,--help. Умение читать man — навык, который окупается всю жизнь. - Структура каталогов: что лежит в
/etc,/var/log,/home,/usr,/proc,/dev; что такое монтирование и inode. - Текстовый редактор в терминале:
nanoна первое время, затем базовые командыvim— он есть почти на любом сервере.
Практика: найдите все файлы .conf в /etc, изменённые за последнюю неделю (find /etc -name "*.conf" -mtime -7). Откройте /etc/os-release и узнайте версию системы. Посмотрите, что пишет система в /var/log.
Этап 2. Пользователи, группы и права
Права — основа безопасности Linux и источник половины ошибок «Permission denied».
- Чтение вывода
ls -l: тип, права, владелец, группа. chmodв символьной и числовой форме,chown,umask.- Особые биты: SUID, SGID, sticky bit — и почему
/tmpдоступен всем на запись, но чужие файлы там удалить нельзя. - Пользователи и группы:
useradd,usermod -aG,passwd, файлы/etc/passwd,/etc/shadow,/etc/group. sudo, правила в sudoers и редактирование черезvisudo.
Практика: создайте двух пользователей и общую папку проекта, в которой оба могут создавать файлы, а остальные не видят ничего. Подсказка: группа, chmod 2770 и SGID для наследования группы.
Этап 3. Bash и текстовые утилиты
Администрирование — это во многом обработка текста: логов, конфигов, вывода команд. На этом этапе терминал превращается из набора команд в инструмент.
- Перенаправления и конвейеры:
>,>>,2>&1,|,xargs. - Фильтры:
grep(с регулярными выражениями),sort,uniq -c,wc,cut,sed,awk. - JSON и HTTP из консоли:
curlиjq. - Скрипты: shebang, переменные, кавычки, условия
ifи[[ ]], циклы, функции, коды возврата,set -euo pipefail.
Практика: одной строкой посчитайте десять IP-адресов с наибольшим числом запросов в логе веб-сервера:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Затем напишите скрипт бэкапа каталога в архив с датой в имени, который удаляет архивы старше семи дней и возвращает ненулевой код при ошибке.
Этап 4. Пакеты, окружение и планировщик
- Менеджер пакетов:
apt update,apt install,apt remove,apt search,dpkg -l. В RHEL-подобных системах —dnf. Понимать, что такое репозиторий и зачем ключи подписи. - Переменные окружения:
env,export,PATH, файлы~/.bashrc,~/.profile,/etc/environment— и какой из них когда читается. - Расписание:
crontab -e, синтаксис пяти полей, почему в cron «не работает» команда, которая работает в терминале (другое окружение иPATH).
Практика: поставьте nginx из репозитория, добавьте свой каталог со скриптами в PATH, настройте запуск бэкап-скрипта из этапа 3 каждую ночь через cron с записью вывода в лог.
Этап 5. Процессы и systemd
Здесь вы начинаете понимать, что на самом деле происходит в системе.
- Процессы:
ps aux,top/htop, PID и PPID, состояния, приоритеты (nice), сигналы иkill. - Нагрузка: load average, память и swap (
free -h), что значит «процесс в состоянии D». - Отладка:
lsof— какие файлы и порты открыл процесс;strace— какие системные вызовы он делает и на чём завис. - systemd: юниты,
systemctl status/start/enable, свой unit-файл сRestart=on-failure, таймеры вместо cron. - Логи:
journalctl -u,-f,-b,-p err, ротация, rsyslog; статистика производительности через sysstat (sar,iostat).
Практика: оформите небольшое приложение (хотя бы python3 -m http.server) как службу systemd от отдельного пользователя, убейте процесс через kill -9 и убедитесь, что systemd его поднял. Найдите в журнале запись о перезапуске.
Этап 6. Диски, LVM и RAID
- Устройства и разделы:
lsblk,blkid,fdiskилиparted, файловые системы ext4 и XFS,mkfs. - Монтирование:
mount,/etc/fstabс UUID, проверка черезmount -a. - Место:
df -h,df -i,du -sh, поиск того, что занимает диск. - LVM: физические тома, группы томов, логические тома и расширение раздела без остановки.
- Программный RAID на
mdadm— понимание уровней 0, 1, 5, 10 и того, что RAID — не бэкап.
Практика: добавьте в виртуальную машину два диска, соберите на них LVM, создайте том, смонтируйте через fstab, а потом увеличьте его командами lvextend -r.
Этап 7. Сеть
- Модель TCP/IP на уровне, достаточном для диагностики: IP, маска, шлюз, порт, TCP и UDP.
- Команды:
ip a,ip r,ss -tlnp,ping,traceroute/mtr,curl -v,nc. - DNS: как работает резолвинг,
/etc/hosts,/etc/resolv.conf,dig,resolvectl. - Настройка сети в вашем дистрибутиве (netplan в Ubuntu, NetworkManager в других).
- Захват трафика:
tcpdumpдля случаев, когда всё остальное не помогло.
Практика: выясните, какой процесс слушает каждый открытый порт вашего сервера. Разберите, почему служба, слушающая 127.0.0.1, недоступна снаружи, и исправьте это.
Этап 8. Удалённая работа: SSH и передача файлов
- SSH: ключи (
ssh-keygen -t ed25519,ssh-copy-id), файл~/.ssh/config,ssh-agent, проброс портов (ssh -L), бастион черезProxyJump. - Копирование:
scpиrsync -avz --delete— и чем rsync лучше для синхронизации. - Сетевые файловые системы: NFS между Linux-серверами, SMB (Samba) для обмена с Windows.
Практика: настройте вход на VPS только по ключу, опишите его в ~/.ssh/config под коротким именем и сделайте ежедневную синхронизацию каталога на сервер через rsync.
Этап 9. Безопасность сервера
- Файрвол: принцип «запрещено всё, что не разрешено»,
ufwдля простых случаев,nftables— чтобы понимать, что происходит под капотом. fail2ban: бан IP после серии неудачных входов, проверка черезfail2ban-client status sshd.- Настройка sshd: запрет входа по паролю и под root.
- Обновления безопасности и их автоматическая установка (unattended-upgrades в Debian и Ubuntu).
- GPG: проверка подписей пакетов и файлов, шифрование бэкапов.
Практика: откройте в файрволе только 22, 80 и 443, включите fail2ban и через сутки посмотрите в его статусе, сколько адресов уже заблокировано.
Финальный проект: соберите сервер целиком
Лучшая проверка того, что вы действительно изучили Linux, — собрать сервер с нуля без подсказок:
- Новый VPS, свой пользователь с sudo, вход по SSH-ключу, пароли и root отключены.
- Файрвол и fail2ban, автоматические обновления безопасности.
- Веб-сервер и приложение как служба systemd с автоперезапуском.
- Отдельный диск или том под данные, смонтированный через fstab.
- Бэкап по расписанию (cron или systemd-таймер) на другую машину через rsync, с логом и проверкой восстановления.
- Короткая инструкция: как всё это поднять заново.
Если вы можете пройти этот список и объяснить каждый шаг, база для работы администратором или DevOps-инженером у вас есть. Дальше естественное продолжение — контейнеры, автоматизация конфигурации и мониторинг.
Как учиться эффективнее
- Набирайте команды сами. Копирование из статьи не запоминается, набор и ошибки — запоминаются.
- Ломайте и чините. Испортите fstab или права на
~/.sshв виртуальной машине и восстановите систему. Такой опыт ценится на собеседованиях. - Ведите заметки. Свой конспект команд с примерами полезнее любой чужой шпаргалки.
- Читайте логи. Почти любую проблему в Linux объясняет журнал — привыкайте смотреть туда первым делом.
Итог
Ответ на вопрос, как изучить Linux с нуля, — двигаться слоями: терминал и файлы, права, Bash, пакеты, процессы и systemd, диски, сеть, SSH, безопасность — и на каждом этапе решать практическую задачу на своём стенде. Финальная цель — самостоятельно поднять и защитить сервер с работающим сервисом. Именно по такому маршруту, от вводной лекции до финального проекта, построен курс по Linux на платформе.
Частые вопросы
Сколько времени нужно, чтобы изучить Linux с нуля?
Базу для работы с сервером при занятиях около часа в день обычно осваивают за несколько месяцев. Уверенность приходит с практикой на реальных задачах, поэтому важнее регулярность, чем общее число часов.
Нужно ли знать программирование, чтобы изучать Linux?
Нет, начать можно без него. Но к этапу Bash-скриптов вы фактически начнёте программировать, и эти навыки потом пригодятся в автоматизации.
Можно ли изучать Linux на Windows?
Да, через WSL2 или виртуальную машину. Для тем про systemd, диски и сеть лучше использовать полноценную виртуальную машину или VPS.
Стоит ли ставить Linux основной системой на компьютер?
Это полезно, но не обязательно. Для администрирования важнее работать с серверным Linux через терминал, чем пользоваться графическим рабочим столом.
Какой дистрибутив выбрать новичку?
Ubuntu Server или Debian: у них много документации, а навыки легко переносятся на другие дистрибутивы. Основное отличие RHEL-подобных систем — менеджер пакетов dnf.
Эта тема подробно разобрана с практикой в курсе «Linux: с нуля до уверенного администрирования».
- Linux: с нуля до уверенного администрирования
- Финал: собираем защищённый и автоматизированный сервер целиком