Все статьи

Linux для новичков: с чего начать и какие команды знать

  • linux
  • терминал
  • для новичков

Linux работает на большинстве серверов в интернете, в роутерах, телевизорах, смартфонах на Android и в облачной инфраструктуре. Если вы занимаетесь веб-разработкой, рано или поздно вы окажетесь в терминале Linux: на хостинге, в контейнере или на сервере с вашим сайтом. Поэтому базовые навыки полезны каждому.

Эта статья не заменит учебник, но даст карту местности: что это такое, как попробовать и какие команды освоить в первую очередь.

Что такое Linux

Строго говоря, Linux — это ядро операционной системы: программа, которая управляет процессором, памятью и устройствами. Пользоваться одним ядром неудобно, поэтому его собирают вместе с системными утилитами, графической оболочкой и менеджером программ. Такой готовый набор называется дистрибутивом.

Дистрибутивов много, и это нормально: они отличаются удобством, набором программ и правилами обновления, но внутри почти одинаковы. Для старта хорошо подходят:

ДистрибутивКому подойдёт
UbuntuСамый популярный, много инструкций и ответов на форумах
Linux MintПривычный интерфейс, похожий на Windows
FedoraСвежие версии программ, любят разработчики
DebianСтабильность и простота, на нём основан Ubuntu, а на Ubuntu — Linux Mint

Если сомневаетесь, берите Ubuntu или Linux Mint: у них меньше всего сюрпризов, а любую ошибку легко найти в поисковике.

Как попробовать без риска

Ставить Linux вместо Windows для знакомства не нужно. Есть безопасные варианты:

  1. WSL в Windows. Это Linux внутри Windows без лишних настроек. Откройте PowerShell от имени администратора и выполните wsl --install. После перезагрузки вы получите терминал с Ubuntu.
  2. Виртуальная машина. VirtualBox или аналогичная программа запускает Linux в окне, как обычное приложение. Диск и данные остаются нетронутыми.
  3. Live-режим с флешки. Записываете образ дистрибутива на флешку, загружаетесь с неё и пробуете систему, ничего не устанавливая. Для записи подойдут Rufus, balenaEtcher или Ventoy.
  4. Установка рядом с Windows или вместо неё. Это уже следующий шаг, когда вы поймёте, что Linux вам нравится. Перед ним сделайте резервную копию важных файлов.

Для веб-разработчика самый быстрый старт — WSL или виртуальная машина: терминал появляется за десять минут, а рабочая система остаётся нетронутой.

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

В Linux нет дисков C: и D:. Есть одно дерево каталогов, которое начинается с корня /, а все диски и флешки подключаются внутри него. Главные папки:

ПутьЧто там лежит
/homeЛичные папки пользователей: /home/anna. Ваши файлы и настройки
/etcКонфигурационные файлы системы и служб
/varДанные, которые меняются: логи, базы данных, очереди
/usrУстановленные программы и библиотеки
/tmpВременные файлы
/rootДомашняя папка администратора root

Два сокращения пригодятся сразу: ~ означает вашу домашнюю папку, а . и .. — текущую и родительскую папки. Регистр важен: Report.txt и report.txt — разные файлы.

Терминал и первые команды

Терминал выглядит пугающе, но по сути это диалог: вы вводите команду, система отвечает. Строка приглашения обычно показывает имя пользователя, компьютер и текущую папку, например anna@laptop:~$. Символ $ значит «жду команду». В примерах ниже его вводить не нужно.

Где я и что вокруг

pwd          # показать текущую папку
ls           # список файлов
ls -la       # подробный список, включая скрытые файлы
cd projects  # перейти в папку projects
cd ..        # подняться на уровень выше
cd ~         # вернуться домой
cd -         # вернуться в предыдущую папку

Скрытые файлы в Linux начинаются с точки, например .bashrc. Обычный ls их не показывает, а ls -a показывает.

Создание, копирование, удаление

mkdir notes              # создать папку
mkdir -p site/css/img    # создать вложенные папки за раз
touch notes/todo.txt     # создать пустой файл
cp todo.txt copy.txt     # скопировать файл
cp -r site site-backup   # скопировать папку целиком
mv copy.txt archive.txt  # переименовать или переместить
rm archive.txt           # удалить файл
rm -r site-backup        # удалить папку со всем содержимым

Внимание: корзины в терминале нет. Удалённое через rm возвращается только из резервной копии. Прежде чем удалять папку через rm -r, проверьте путь командой ls.

Просмотр и поиск

cat todo.txt            # вывести файл целиком
less big.log            # листать длинный файл (выход: q)
head -n 20 big.log      # первые 20 строк
tail -n 20 big.log      # последние 20 строк
tail -f app.log         # следить за файлом в реальном времени
grep "error" app.log    # найти строки со словом error
grep -ri "todo" .       # искать во всех файлах папки без учёта регистра
find . -name "*.md"     # найти файлы по имени

Справка

Не помните флаги? Спросите систему:

ls --help   # краткая справка
man ls      # полное руководство (выход: q)

Конвейеры и перенаправление

Сила терминала в том, что простые команды соединяются друг с другом. Знак | передаёт вывод одной команды на вход другой, а > и >> записывают вывод в файл:

ls -la | less                 # листать длинный список
cat app.log | grep "error"    # отфильтровать строки
echo "Привет" > hello.txt     # записать в файл, заменив содержимое
echo "Ещё строка" >> hello.txt  # дописать в конец файла
history | grep ssh            # найти прошлые команды со словом ssh

Права доступа и sudo

У каждого файла есть владелец, группа и три набора прав: для владельца, для группы и для остальных. Посмотрите их через ls -l:

-rwxr-xr-x  1 anna anna  120 Sep 20 10:00 script.sh

Первая буква обозначает тип (- файл, d папка), дальше идут три тройки символов: rwx для владельца, r-x для группы, r-x для остальных. r — чтение, w — запись, x — выполнение. Если считать цифрами, r равно 4, w равно 2, x равно 1, и rwx даёт 7, а r-x даёт 5.

chmod +x script.sh     # разрешить запуск файла
chmod 644 index.html   # владелец читает и пишет, остальные только читают
./script.sh            # запустить скрипт из текущей папки

Действия, которые меняют систему, требуют прав администратора. Для этого перед командой ставят sudo:

sudo apt update

Относитесь к sudo серьёзно. Не вставляйте в терминал команды из непроверенных источников, не понимая, что они делают, и никогда не запускайте скачанный из сети скрипт от имени администратора, не прочитав его.

Установка программ

Программы в Linux ставят через менеджер пакетов. Он сам скачивает нужное и обновляет установленное. У каждой семьи дистрибутивов он свой:

ДистрибутивыМенеджерУстановка программы
Ubuntu, Debian, Mintaptsudo apt install git
Fedoradnfsudo dnf install git
Arch, Manjaropacmansudo pacman -S git

Типичный порядок действий в Ubuntu:

sudo apt update          # обновить список доступных пакетов
sudo apt upgrade         # обновить установленные программы
sudo apt install htop    # установить программу
sudo apt remove htop     # удалить программу

Процессы и состояние системы

whoami       # под каким пользователем вы работаете
uname -a     # сведения о ядре и системе
df -h        # свободное место на дисках
du -sh site  # сколько занимает папка site
free -h      # оперативная память
ps aux       # список запущенных процессов
top          # процессы в реальном времени (выход: q)
kill 1234    # завершить процесс с номером 1234

Если программа в терминале зависла, нажмите Ctrl+C: она остановится и вернёт вам строку приглашения.

Горячие клавиши, которые экономят время

  • Tab дописывает имена файлов и команд. Нажмите дважды, чтобы увидеть варианты.
  • Стрелка вверх листает историю команд.
  • Ctrl+R ищет по истории: начните вводить часть старой команды.
  • Ctrl+C прерывает текущую команду.
  • Ctrl+L очищает экран.

Практика на 10 минут

Повторите шаги по порядку и посмотрите, как реагирует система:

  1. Перейдите домой и создайте папку для упражнений: cd ~ и mkdir -p linux-practice/docs.
  2. Зайдите в неё: cd linux-practice.
  3. Создайте файл с текстом: echo "Первая строка" > docs/note.txt.
  4. Допишите ещё одну строку: echo "Вторая строка" >> docs/note.txt.
  5. Прочитайте файл: cat docs/note.txt.
  6. Найдите слово: grep "Вторая" -r ..
  7. Скопируйте папку: cp -r docs docs-copy.
  8. Посмотрите результат: ls -la.
  9. Уберите за собой: cd .. и rm -r linux-practice.

Если каждый шаг понятен, вы уже владеете базой, на которой держится работа с серверами.

Частые ошибки новичков

  • Забыли про регистр. Documents и documents — разные папки.
  • Пробелы в именах. Имя my file.txt нужно брать в кавычки: cat "my file.txt". Проще вообще не использовать пробелы, заменяйте их на дефис или подчёркивание.
  • Слепое копирование команд. Сначала поймите, что делает каждая часть команды. Сомневаетесь — прочитайте man или добавьте --help.
  • Запуск всего через sudo. Если программа просит права администратора без явной причины, остановитесь и разберитесь. Обычные действия с вашими файлами в домашней папке sudo не требуют.
  • Бояться терминала. Самая частая ошибка: людей отпугивает сама идея командной строки. Первые несколько дней неудобно, потом руки запоминают.

Что учить дальше

  1. Текстовый редактор в терминале: nano для начала, потом vim, если захочется.
  2. SSH: подключение к удалённым серверам командой ssh user@server.
  3. Git: система контроля версий, с которой работают все разработчики.
  4. Bash-скрипты: как объединять команды в файл и автоматизировать рутину.
  5. Службы и логи: systemctl и journalctl для управления сервисами на сервере.

Хорошие бесплатные справочники: страницы man прямо в системе, документация вашего дистрибутива и Linux Journey, где темы разобраны по ступеням.