Linux для начинающих: базовые команды


Linux — это семейство свободных операционных систем на основе ядра, созданного Линусом Торвальдсом в 1991 году. Сегодня Linux работает на большинстве серверов в интернете, в Android-смартфонах, встроенных устройствах и на рабочих станциях разработчиков. Умение пользоваться командной строкой Linux давно перестало быть экзотическим навыком — это рабочий инструмент для системных администраторов, программистов, аналитиков данных и DevOps-инженеров.

Эта статья — практическое введение в командную строку. Мы разберём, как установить Linux, как устроен терминал и какие команды нужно знать, чтобы уверенно работать в системе.

Что такое Linux и дистрибутивы

Строго говоря, Linux — это только ядро операционной системы. Всё остальное (оболочка, утилиты, графический интерфейс, менеджер пакетов) поставляется в составе дистрибутивов. Основные семейства:

  • Debian / Ubuntu / Linux Mint — используют менеджер пакетов apt. Рекомендуется новичкам.
  • Fedora / RHEL / CentOS / AlmaLinux — используют dnf (ранее yum).
  • Arch Linux / Manjaro — используют pacman. Подойдут опытным пользователям.
  • openSUSE — использует zypper.
Для первого знакомства проще всего взять Ubuntu или Linux Mint — у них большое сообщество, много документации и дружелюбный установщик.

Установка Linux

Базовый сценарий — установка Linux как единственной системы на чистую машину. Подходит для нового компьютера, ноутбука без предустановленной ОС или для полной замены текущей системы. Альтернативные варианты (dual boot, виртуальная машина, WSL, Live USB) кратко описаны в конце раздела.

Установка на чистую машину

Шаг 1. Минимальные системные требования.

Для Ubuntu и большинства актуальных дистрибутивов достаточно:

  • процессор с частотой 2 ГГц (2 ядра и выше)
  • 4 ГБ оперативной памяти (рекомендуется 8 ГБ)
  • 25 ГБ свободного места на диске (рекомендуется 50 ГБ)
  • USB-порт и флешка объёмом от 4 ГБ для загрузочного носителя
Шаг 2. Загрузка ISO-образа.

Официальный образ скачивается с сайта дистрибутива: ubuntu.com/download/desktop, linuxmint.com/download.php, fedoraproject.org/workstation/download. Для проверки целостности сравнивается контрольная сумма SHA-256 скачанного файла с указанной на сайте.

Шаг 3. Запись загрузочной флешки.

Для записи ISO на USB используется одна из утилит:

  • Rufus (Windows) — rufus.ie
  • Balena Etcher (Windows, macOS, Linux) — etcher.balena.io
  • dd (Linux, macOS) — встроенная консольная утилита

Пример записи через dd в Linux (замените /dev/sdX на реальное устройство флешки, определяемое через lsblk):

sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync

Внимание: неверно указанное устройство в команде dd приведёт к стиранию данных на другом диске. Перед запуском убедитесь, что /dev/sdX — именно флешка.

Шаг 4. Настройка загрузки с USB в BIOS/UEFI.

После подключения флешки компьютер перезагружается, и при старте вызывается меню загрузки клавишей F2, F10, F12, Esc или Del (зависит от производителя материнской платы). В настройках необходимо:

  • отключить режим Secure Boot (требуется для ряда дистрибутивов)
  • выставить USB-носитель первым в порядке загрузки
  • для современных систем оставить режим UEFI, для старых — Legacy/CSM
Шаг 5. Запуск установщика.

После загрузки с флешки появляется меню с выбором: «Try Ubuntu» (пробный запуск без установки) и «Install Ubuntu» (установка). Установщик проведёт через следующие этапы:

  1. Выбор языка и раскладки клавиатуры.
  2. Подключение к Wi-Fi (опционально, для загрузки обновлений в процессе).
  3. Выбор типа установки: «Обычная» (с офисным пакетом и утилитами) или «Минимальная» (только браузер и базовые инструменты).
  4. Разметка диска. Для чистой установки выбирается пункт «Стереть диск и установить Ubuntu» — это автоматический вариант с созданием всех необходимых разделов.
  5. Выбор часового пояса.
  6. Создание учётной записи: имя пользователя, имя компьютера, пароль.

После копирования файлов система предложит извлечь флешку и перезагрузиться.

Шаг 6. Ручная разметка диска (опционально).

Автоматическая разметка подходит большинству пользователей. При необходимости ручной настройки создаются минимум два раздела:

  • / (корневой) — от 20 ГБ, файловая система ext4
  • swap — файл или раздел подкачки, обычно равный объёму ОЗУ или вдвое меньше при больших объёмах памяти

Для систем с UEFI дополнительно требуется EFI-раздел размером 512 МБ с файловой системой FAT32, смонтированный в /boot/efi. Опционально выделяется отдельный раздел /home — это упрощает переустановку системы без потери пользовательских данных.

Альтернативные способы

Если установка на чистую машину не подходит, существуют другие варианты:

  • Dual boot — установка Linux второй системой рядом с Windows. Выбор ОС производится при включении через меню загрузчика GRUB. Требует предварительного сжатия раздела Windows и отключения функции «Быстрый запуск» и BitLocker.
  • Виртуальная машина — развёртывание Linux внутри VirtualBox или VMware Workstation Player. Подходит для изучения без изменения основной системы.
  • WSL (Windows Subsystem for Linux) — запуск Linux-окружения внутри Windows 10/11 командой wsl --install в PowerShell с правами администратора. Оптимален для работы с командной строкой, но без полноценного графического окружения.
  • Live USB — запуск системы с загрузочной флешки без установки. Все изменения теряются после перезагрузки, что удобно для тестирования совместимости оборудования и предварительной оценки дистрибутива.

Терминал и командная строка

Терминал (эмулятор терминала) — это окно, в котором вы вводите команды. Оболочка (shell) — программа, которая эти команды интерпретирует и выполняет. Самая распространённая оболочка — Bash, в новых версиях macOS и некоторых дистрибутивах по умолчанию идёт Zsh.

Открыть терминал в большинстве графических окружений можно сочетанием клавиш Ctrl + Alt + T.

После открытия вы увидите приглашение командной строки:

user@hostname:~$
  • user — имя пользователя
  • hostname — имя компьютера
  • ~ — текущая директория (тильда означает домашний каталог)
  • $ — вы работаете как обычный пользователь (# означает root)

Анатомия команды

Любая команда в Linux имеет простую структуру:

команда [опции] [аргументы]

Например:

ls -la /home

Здесь ls — команда (вывести содержимое), -la — опции (подробный формат, включая скрытые файлы), /home — аргумент (путь к директории).

Навигация по файловой системе

Файловая система Linux имеет древовидную структуру с корнем /. Основные команды для перемещения:

pwd                 # показать текущую директорию
ls                  # список файлов в текущей директории
ls -l               # подробный список (права, размер, дата)
ls -la              # то же + скрытые файлы (начинающиеся с точки)
ls -lh              # размеры в человекочитаемом виде (KB, MB, GB)
ls /var/log         # содержимое конкретной директории

cd /etc             # перейти в директорию /etc
cd ~                # в домашний каталог
cd                  # тоже в домашний каталог (без аргументов)
cd ..               # на уровень выше
cd -                # в предыдущую директорию

Стандартные пути, с которыми приходится работать чаще всего:

  • / — вершина иерархии файловой системы
  • /home/username — директория с пользовательскими файлами и настройками профиля
  • /etc — конфигурационные файлы системы и установленных приложений
  • /var/log — файлы журналов системных служб и приложений
  • /usr/bin — исполняемые файлы пользовательских утилит
  • /tmp — временные данные, очищаются при перезагрузке системы

Работа с файлами и директориями

mkdir projects                  # создание новой директории
mkdir -p projects/web/site      # построение цепочки вложенных директорий за один вызов

touch file.txt                  # создание файла нулевого размера
touch a.txt b.txt c.txt         # одновременное создание нескольких файлов

cp file.txt backup.txt          # создание копии файла
cp -r projects backup_projects  # флаг -r требуется для копирования директории со всем содержимым

mv old.txt new.txt              # изменение имени файла
mv file.txt ~/Documents/        # та же команда выполняет перемещение в другую директорию

rm file.txt                     # удаление файла
rm -r directory                 # удаление директории со всем содержимым
rm -rf directory                # принудительное удаление без запроса подтверждения (ОСТОРОЖНО)

Предупреждение: команда rm -rf удаляет всё указанное без возможности восстановления. Корзины в терминале нет. Особенно опасна конструкция rm -rf / — она попытается стереть всю систему. Всегда дважды проверяйте путь перед выполнением.

Просмотр содержимого файлов

cat file.txt            # вывести всё содержимое файла
cat file1.txt file2.txt # объединить и вывести несколько файлов

less file.txt           # постраничный просмотр (выход — q)
more file.txt           # то же, но проще

head file.txt           # первые 10 строк
head -n 20 file.txt     # первые 20 строк
tail file.txt           # последние 10 строк
tail -n 50 file.txt     # последние 50 строк
tail -f /var/log/syslog # отслеживать новые записи в реальном времени

wc file.txt             # количество строк, слов и символов
wc -l file.txt          # только количество строк

Поиск файлов и текста

Команда find ищет файлы по имени, типу, размеру и другим критериям:

find . -name "*.txt"                 # все .txt файлы от текущей директории
find /home -type d -name "docs"      # директории с именем docs в /home
find . -type f -size +10M            # файлы больше 10 мегабайт
find . -mtime -7                     # изменённые за последние 7 дней

Команда grep ищет текст внутри файлов:

grep "error" log.txt            # строки с "error" в log.txt
grep -i "error" log.txt         # без учёта регистра
grep -r "TODO" ./project        # рекурсивно по всем файлам директории
grep -n "error" log.txt         # с номерами строк
grep -v "debug" log.txt         # инвертированный поиск (всё, КРОМЕ "debug")

Найти путь к исполняемому файлу программы:

which python3           # путь к python3
whereis nginx           # путь к бинарнику, исходникам и manual

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

Каждый файл в Linux имеет владельца, группу и три набора прав: для владельца, группы и остальных. Права обозначаются буквами r (чтение), w (запись), x (выполнение).

Посмотреть права:

ls -l file.txt
# -rw-r--r-- 1 user group 1024 Apr 20 10:00 file.txt

Первый символ — тип (- файл, d директория, l ссылка). Далее три тройки: rw- для владельца, r-- для группы, r-- для остальных.

Изменить права можно командой chmod в символьной или числовой форме:

chmod +x script.sh          # сделать файл исполняемым
chmod u+w file.txt          # добавить право записи владельцу
chmod go-r secret.txt       # убрать чтение у группы и остальных

chmod 755 script.sh         # владелец: rwx, группа: r-x, остальные: r-x
chmod 644 file.txt          # владелец: rw-, группа: r--, остальные: r--
chmod 600 key.pem           # владелец: rw-, остальные ничего

Числовая форма: r=4, w=2, x=1, суммируем. Например, 7 = 4+2+1 = rwx, 5 = 4+1 = r-x.

Сменить владельца файла:

sudo chown user:group file.txt      # владелец user, группа group
sudo chown -R user /var/www         # рекурсивно для всей директории

Команда sudo

Многие действия (установка программ, изменение системных файлов) требуют прав администратора. В Linux для этого используется sudo:

sudo apt update                 # выполнить команду с правами root
sudo nano /etc/hosts            # редактировать системный файл

При первом вызове sudo запросит ваш пароль. Не набирайте sudo перед командами без необходимости — это путь к проблемам.

Управление пакетами

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

Ubuntu / Debian (apt):

sudo apt update                 # обновить списки пакетов
sudo apt upgrade                # обновить все установленные пакеты
sudo apt install nginx          # установить пакет
sudo apt remove nginx           # удалить пакет
sudo apt purge nginx            # удалить вместе с конфигами
apt search keyword              # поиск пакета по ключевому слову
apt show nginx                  # подробная информация о пакете

Fedora / RHEL (dnf):

sudo dnf update
sudo dnf install nginx
sudo dnf remove nginx
dnf search keyword

Arch (pacman):

sudo pacman -Syu                # обновить систему
sudo pacman -S nginx            # установить
sudo pacman -R nginx            # удалить
pacman -Ss keyword              # поиск

Процессы

Каждая запущенная программа — это процесс с уникальным идентификатором (PID).

ps                      # процессы текущего пользователя
ps aux                  # все процессы в системе
ps aux | grep nginx     # найти процессы nginx

top                     # интерактивный монитор процессов (выход — q)
htop                    # более удобная версия top (нужно установить)

kill 1234               # послать сигнал TERM процессу с PID 1234
kill -9 1234            # принудительное завершение (сигнал KILL)
killall firefox         # завершить все процессы firefox

Запуск в фоновом режиме:

long_command &          # запустить в фоне
jobs                    # список фоновых задач
fg %1                   # вернуть задачу 1 на передний план
bg %1                   # отправить в фон
nohup script.sh &       # запустить так, чтобы процесс пережил закрытие терминала

Информация о системе

uname -a                # версия ядра и архитектура
hostnamectl             # имя хоста и информация об ОС
uptime                  # время работы системы и нагрузка

df -h                   # свободное место на дисках
du -sh directory        # размер директории
du -sh * | sort -h      # размеры всех объектов в текущей директории

free -h                 # использование оперативной памяти
lscpu                   # информация о процессоре
lsblk                   # блочные устройства (диски, разделы)
lsusb                   # USB-устройства

Сеть

ping google.com                 # проверка доступности хоста (Ctrl+C для остановки)
ping -c 4 google.com            # отправить только 4 пакета

ip addr                         # сетевые интерфейсы и адреса
ip route                        # таблица маршрутизации

ss -tulpn                       # открытые порты и соединения
                                # (современная замена netstat)

curl https://example.com        # HTTP-запрос, вывод в терминал
curl -O https://example.com/file.zip  # скачать файл
wget https://example.com/file.zip      # то же, альтернативная утилита

ssh user@192.168.1.10           # подключение к удалённому серверу
scp file.txt user@server:/tmp/  # копирование файла по SSH

Архивы

Самый распространённый формат в Linux — tar, часто со сжатием gzip (.tar.gz) или xz (.tar.xz).

# Создать архив
tar -czvf archive.tar.gz directory/     # с gzip-сжатием
tar -cJvf archive.tar.xz directory/     # с xz-сжатием (сильнее жмёт)

# Распаковать архив
tar -xzvf archive.tar.gz                # gzip
tar -xJvf archive.tar.xz                # xz
tar -xf archive.tar.gz                  # автоопределение формата (новые версии)

# Посмотреть содержимое архива без распаковки
tar -tzvf archive.tar.gz

# ZIP
zip -r archive.zip directory/
unzip archive.zip

Ключи tar: c — создать, x — извлечь, t — список, v — подробный вывод, f — имя файла, z — gzip, J — xz.

Перенаправление и конвейеры

Одна из самых мощных концепций Unix — возможность соединять команды, передавая вывод одной на вход другой.

command > file.txt      # перенаправить вывод в файл (перезапись)
command >> file.txt     # дописать в конец файла
command < file.txt      # взять ввод из файла
command 2> errors.txt   # перенаправить только ошибки
command &> all.txt      # и вывод, и ошибки в один файл

# Конвейер: вывод первой команды становится вводом второй
ls -la | grep ".txt"            # показать только .txt файлы в выводе ls
cat log.txt | grep "error" | wc -l      # посчитать строки с "error"
ps aux | grep python | head -5          # первые 5 процессов Python

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

nano — самый простой, подойдёт для новичков:

nano file.txt

Внизу экрана подсказки. Ctrl+O — сохранить, Ctrl+X — выйти.

vim — мощный, но с крутой кривой обучения:

vim file.txt

Минимум: нажать i для перехода в режим вставки, Esc для выхода из него, :wq для сохранения и выхода, :q! для выхода без сохранения.

Полезные горячие клавиши и приёмы

  • Tab — автодополнение команд и путей. Используйте постоянно.
  • Стрелки вверх/вниз — история команд.
  • Ctrl + R — поиск по истории команд (начните набирать, и найдётся последнее совпадение).
  • Ctrl + C — прервать текущую команду.
  • Ctrl + D — выйти из оболочки или закрыть ввод.
  • Ctrl + L — очистить экран (аналог clear).
  • history — показать список выполненных команд.
  • !! — повторить последнюю команду (например, sudo !! если забыли sudo).
  • man команда — открыть руководство (например, man ls). Выход — q.
  • команда --help — краткая справка по команде.

Заключение

Освоив команды из этой статьи, вы уже сможете уверенно работать в Linux. Дальше стоит двигаться в сторону написания Bash-скриптов, знакомства с systemd для управления службами, настройки SSH и изучения конкретных инструментов под ваши задачи (Docker, Git, nginx и так далее).

Главный совет: не учите команды наизусть, а используйте их. Заведите привычку открывать терминал вместо файлового менеджера, и за пару недель всё войдёт в пальцы. А если что-то забыли — man и --help всегда под рукой.


Полезный материал?
0
0
Автор: Всеволод
опубликовано: 21.04.2026
Читайте нас: 
Последние статьи
Вверх!