LinuxRuLinux без лишней теории
Терминал с нуля

Основные команды Linux для начинающих с примерами

Редакция LinuxRu8 мин чтенияИнструкции

Команды Linux для начинающих укладываются в два десятка: pwd, ls и cd для навигации, cp, mv и rm для файлов, grep и find для поиска, sudo и chmod для прав, ps и kill для процессов, df, free и ip для системы и сети. Ниже каждая группа с примерами, отличия apt, dnf и pacman и шпаргалка на одну страницу.

Основные команды Linux для начинающих с примерами
Фото: Jimmy Olano, CC BY-SA 3.0, Wikimedia Commons
Содержание
  1. Справка man
  2. Навигация
  3. Файлы
  4. Чтение и поиск
  5. Права и sudo
  6. Процессы
  7. Система и диски
  8. Сеть
  9. Пакеты
  10. Шпаргалка
  11. Частые вопросы

Как устроена команда и где взять справку

Любая команда в терминале строится одинаково: имя программы, затем ключи (опции), затем аргументы. В строке ls -l /etc программа ls, ключ -l просит подробный список, аргумент /etc говорит, какой каталог показать. Короткие ключи пишутся с одним дефисом и склеиваются (-la то же, что -l -a), длинные с двумя: --all.

Запоминать все ключи не нужно. Справка всегда под рукой:

man ls          # полное руководство, выход клавишей q
ls --help       # краткая подсказка прямо в терминале
man -k архив    # поиск по описаниям страниц man
type cd         # что это: программа, встроенная команда или псевдоним

Внутри man работает поиск: нажмите /, введите слово и Enter, клавиша n переходит к следующему совпадению. Если страницы man на русском нет, откроется английская, и это нормально: ключи там описаны точнее любой статьи.

Ещё два правила, которые экономят нервы. Регистр букв важен: Documents и documents - разные каталоги. Клавиша Tab дополняет имена файлов и команд, двойное нажатие показывает варианты. Горячие клавиши, история и конвейеры подробно разобраны в отдельной статье про приёмы работы в терминале.

В Linux нет дисков C: и D:, всё начинается с корня /. Ваши файлы лежат в домашнем каталоге /home/имя, для краткости его обозначают тильдой ~.

pwd             # где я сейчас
ls              # что лежит в текущем каталоге
ls -la          # подробно, включая скрытые файлы с точкой в начале
ls -lh ~/Загрузки   # размеры в КБ, МБ, ГБ
cd /etc         # перейти по абсолютному пути
cd Документы    # перейти в подкаталог текущего
cd ..           # на уровень выше
cd -            # вернуться в предыдущий каталог
cd              # домой, то же что cd ~

В выводе ls -l первая колонка показывает тип и права: d в начале строки значит каталог, дефис - обычный файл, l - символическая ссылка. Дальше идут владелец, группа, размер и дата изменения.

Если в имени есть пробел, берите его в кавычки или экранируйте обратной косой чертой: cd "Рабочий стол" или cd Рабочий\ стол. Tab подставит экранирование сам.

Файлы и каталоги: создать, скопировать, переместить, удалить

mkdir проект                 # создать каталог
mkdir -p проект/src/tests    # создать всю цепочку сразу
touch заметка.txt            # создать пустой файл
cp отчёт.odt отчёт-копия.odt # скопировать файл
cp -r проект проект-бэкап    # скопировать каталог целиком
mv заметка.txt ~/Документы/  # переместить
mv старое.txt новое.txt      # переименовать
rm файл.txt                  # удалить файл
rm -r проект-бэкап           # удалить каталог с содержимым
rmdir пустой                 # удалить только пустой каталог
ln -s /путь/к/файлу ссылка   # символическая ссылка

rm удаляет сразу и без корзины. Для подстраховки пользуйтесь ключом -i: команда переспросит перед каждым удалением. Конструкции вида rm -rf с путём из переменной или звёздочкой не запускайте, пока не посмотрели, что именно попадёт под удаление: сначала выполните ls с тем же шаблоном.

Звёздочка подставляет любые символы: cp *.jpg ~/Изображения/ скопирует все JPG из текущего каталога. Вопросительный знак заменяет ровно один символ. Упаковка файлов в архивы и распаковка zip, tar и 7z описаны в статье про архивы в Linux.

Просмотр содержимого и поиск

cat файл.txt            # вывести файл целиком
less /var/log/syslog    # листать большой файл, выход q
head -n 20 файл.txt     # первые 20 строк
tail -n 50 файл.log     # последние 50 строк
tail -f файл.log        # следить за новыми строками в реальном времени
wc -l файл.txt          # посчитать строки

Искать текст внутри файлов помогает grep, а сами файлы по имени ищет find:

grep -i ошибка журнал.log      # строки со словом, без учёта регистра
grep -rn TODO ~/проект         # рекурсивно, с номерами строк
find ~ -name '*.pdf'           # все PDF в домашнем каталоге
find . -type f -size +500M     # файлы больше 500 МБ

Выводы команд соединяются вертикальной чертой: ls -l | less позволит листать длинный список, history | grep ssh найдёт в истории все команды с ssh. Знак > записывает вывод в файл, >> дописывает в конец. Более мощные приёмы с locate, ripgrep и поиском по содержимому собраны в статье про поиск файлов.

Для правки конфигов в терминале проще всего nano: nano файл.txt, сохранение Ctrl+O, выход Ctrl+X.

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

У каждого файла есть владелец, группа и права на чтение (r), запись (w) и выполнение (x) для владельца, группы и всех остальных. Строка -rwxr-xr-- значит: владелец может всё, группа читать и запускать, остальные только читать.

chmod +x script.sh            # разрешить запуск скрипта
chmod 644 заметка.txt         # rw для владельца, чтение остальным
sudo chown $USER:$USER файл   # сделать себя владельцем
./script.sh                   # запустить скрипт из текущего каталога

Команды, которые меняют систему (установка программ, правка файлов в /etc), требуют прав администратора. Для этого перед командой пишут sudo и вводят свой пароль. В Ubuntu 26.04 sudo реализован на Rust и при вводе пароля показывает звёздочки, в других системах пароль не отображается совсем, это нормально.

Две частые ошибки новичков: запускать всё подряд через sudo (файлы в домашнем каталоге потом принадлежат root) и копировать из интернета команды с sudo, не понимая их смысла. Числовая запись прав, umask, SUID и разбор ошибки Permission denied есть в статье про chmod и chown.

Процессы: что запущено и как это остановить

ps aux                 # все процессы системы
ps aux | grep firefox  # найти конкретный
top                    # живой список, сортировка по нагрузке, выход q
kill 12345             # вежливо завершить процесс по номеру PID
kill -9 12345          # убить принудительно, если первый вариант не помог
pkill firefox          # завершить по имени
killall -9 steam       # все процессы с таким именем

Если программа в терминале зависла, нажмите Ctrl+C. Ctrl+Z приостанавливает её и возвращает приглашение, bg продолжит процесс в фоне, fg вернёт на передний план, jobs покажет список. Вместо top многие ставят htop или btop: цветной интерфейс и управление мышью.

Как читать колонки VSZ, RSS, STAT и что значат состояния процессов, подробно объяснено в статье про ps aux. Службы, которые работают в фоне постоянно (сеть, звук, веб-сервер), управляются не kill, а через systemctl.

Сведения о системе, дисках и памяти

uname -r            # версия ядра
cat /etc/os-release # дистрибутив и его версия
df -h               # свободное место на разделах
du -sh ~/Загрузки   # сколько занимает каталог
lsblk               # диски и разделы деревом
free -h             # оперативная память и swap
uptime              # время работы и средняя нагрузка
lscpu               # процессор
whoami              # под каким пользователем я работаю

Ключ -h у df, du и free означает human-readable: размеры в привычных МБ и ГБ, а не в байтах. Если место на диске внезапно кончилось, начните с du -sh * | sort -h в домашнем каталоге: самые большие папки окажутся внизу списка.

Сеть: адреса, проверка связи, загрузка файлов

ip a                       # сетевые интерфейсы и IP-адреса
ip r                       # маршруты, строка default via показывает роутер
ping -c 4 ya.ru            # проверить связь, 4 пакета
ss -tulpn                  # какие порты слушают программы
curl -I https://ya.ru      # заголовки ответа сайта
wget https://example.com/file.iso  # скачать файл
ssh user@192.168.1.10      # подключиться к другому компьютеру

Старые команды ifconfig и netstat во многих дистрибутивах больше не ставятся по умолчанию, их заменили ip и ss из пакета iproute2. Если ping по имени не проходит, а по IP-адресу работает, проблема в DNS. Разговор о ключах SSH, конфиге и копировании файлов по сети вынесен в отдельную статью про SSH-клиент.

Установка программ: apt, dnf, pacman

Программы в Linux ставятся из репозиториев дистрибутива менеджером пакетов. Команды отличаются, смысл одинаков.

Debian, Ubuntu, Linux Mint:

sudo apt update            # обновить списки пакетов
sudo apt upgrade           # обновить систему
apt search vlc             # найти пакет
sudo apt install vlc       # установить
sudo apt remove vlc        # удалить

Fedora:

sudo dnf upgrade
dnf search vlc
sudo dnf install vlc
sudo dnf remove vlc

Arch Linux и производные:

sudo pacman -Syu
pacman -Ss vlc
sudo pacman -S vlc
sudo pacman -Rs vlc

Заведите в домашнем каталоге текстовый файл и записывайте туда каждую новую полезную команду с короткой пометкой, зачем она. Через месяц у вас будет личная шпаргалка под ваши задачи, а поиск по ней через grep быстрее поиска в интернете. История команд history тоже помогает, но в ней нет пояснений.

Шпаргалка команд Linux на одну страницу

ЗадачаКоманда
Где яpwd
Список файлов подробноls -lah
Перейти в каталогcd путь, назад cd ..
Создать каталогmkdir -p имя
Копировать, переместитьcp -r, mv
Удалитьrm, каталог rm -r
Показать файлcat, less, tail -f
Найти текстgrep -rn слово каталог
Найти файлfind ~ -name 'шаблон'
Права на запускchmod +x файл
Выполнить от администратораsudo команда
Процессыps aux, top
Завершить процессkill PID, pkill имя
Место на дискеdf -h, du -sh
Памятьfree -h
IP-адресip a
Проверить связьping -c 4 адрес
Справкаman команда, команда --help

Полный список утилит GNU coreutils с описанием каждого ключа ведётся в официальном руководстве coreutils. Как сократить длинные команды до пары букв, рассказано в статье про псевдонимы.

Частые вопросы

Какие команды Linux нужно знать новичку в первую очередь?

pwd, ls, cd, mkdir, cp, mv, rm, cat, less, grep, sudo, man. С ними можно перемещаться по системе, работать с файлами и читать справку по остальным командам.

Как узнать, что делает команда?

Наберите man и имя команды для полного руководства или имя команды с ключом --help для краткой подсказки. Выход из man клавишей q.

Как отменить или остановить команду в терминале?

Нажмите Ctrl+C. Если программа не реагирует, найдите её PID через ps aux и завершите командой kill или kill -9.

Почему команда пишет Permission denied?

Не хватает прав на файл или каталог. Для системных изменений используйте sudo, для своих скриптов дайте право на запуск командой chmod +x.

Есть ли корзина для rm?

Нет, rm удаляет сразу. Используйте ключ -i для подтверждения или удаляйте через файловый менеджер, если сомневаетесь.

Документация и источники

Читайте также

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