Как начать работать с терминалом Linux

TL;DR
Терминал Linux — быстрый и мощный способ управлять файлами, запускать программы и автоматизировать задачи. Начните с базовых команд (pwd, ls, cd, cat, less, rm), изучите перенаправления и пайплайны, а затем попробуйте практические сценарии с ImageMagick и FFmpeg. Терминал полезен на Linux, macOS и в WSL на Windows.
Быстрые ссылки
Почему использовать терминал Linux?
Базовые команды: pwd, ls, cd, cat, less, rm
Как остановить программу в терминале
Перенаправления и конвейеры
Командная строка не только для Linux
Примеры: ImageMagick и FFmpeg
Введение
Если вы хотите сделать что-то в системе быстрее, автоматизировать рутинные действия или работать с большим количеством файлов, терминал часто решит задачу эффективнее, чем графический интерфейс. Эта статья объясняет основы, даёт рабочие примеры и содержит практические советы для продолжения обучения.
Почему терминал Linux?
Терминал остаётся популярным, потому что:
- Скорость. Одно короткое сочетание команд часто быстрее, чем запуск множества окон и кликов мышью.
- Низкие требования к ресурсам. Текстовые утилиты обычно потребляют меньше памяти и CPU.
- Скрипты и автоматизация. Команды можно комбинировать в сценарии и запускать по расписанию.
- Переносимость. Текстовые утилиты работают на серверах, в контейнерах и на удалённых машинах.
Терминал полезен не только в классическом Linux: macOS предоставляет похожее окружение через Terminal, а Windows поддерживает Linux-инструменты через WSL (Windows Subsystem for Linux).
Примечание. Если вы планируете карьеру в разработке или администрировании, умение уверенно пользоваться командной строкой — значительное преимущество.
Основные понятия в одну строку
- Shell: программа, принимающая команды и выполняющая их.
- Рабочая директория: директория, в которой вы сейчас находитесь.
- Пайплайн: передача вывода одной команды как ввода для другой.
Базовые команды: pwd, ls, cd, cat, less, rm
Начнём с самых частых команд. Описание в простом виде плюс практические советы.
pwd — узнать текущую директорию
Команда pwd (Print Working Directory) показывает абсолютный путь к текущей директории:
pwd
Обычно ваш домашний каталог выглядит как /home/username, а в интерактивной оболочке он отображается как ~ (тильда).
ls — просмотреть содержимое директории
Простейший способ увидеть файлы:
ls
Полезные варианты:
- ls -a — показать все файлы, включая скрытые (начинающиеся с “.”)
- ls -l — подробный список с правами и владельцами
- ls -la — оба варианта вместе
Примеры из статьи:
ls /etc
Совет. Если вывод длинный, перенаправьте его в less: ls -la | less
cd — навигация между директориями
Переходы:
cd /usr/bin # абсолютный путь
cd pictures # относительный путь
cd .. # выйти на уровень выше
cd ../foo # выйти и зайти в другую папку
cd # вернуться домой
Если вы часто переходите в одну и ту же директорию, используйте алиасы или функцию автодополнения (Tab).
cat и less — смотреть содержимое файлов
cat печатает файл целиком:
cat hello.py
Если файл большой, используйте less — постраничный просмотрщик:
less /foo/bar
Управление в less: пробел — далее, b — назад, /pattern — поиск вперёд, ?pattern — поиск назад, n — следующий матч, q — выйти.
rm — удаление файлов
rm file
Важно. Удаление через rm обычно необратимо. Используйте rm -i для интерактивного подтверждения или перемещайте важные файлы в корзину, если у вас настроен графический менеджер.
Как остановить программу в терминале
Если команда зависла или выполняется слишком долго, используйте:
- Ctrl+C — посылает SIGINT, обычно завершает процесс
- q — для программ типа less или man
- Esc, затем :q! — выхода из Vim без сохранения
- Добавьте & в конец команды, чтобы запустить её в фоне
Если программа не реагирует на Ctrl+C, можно найти PID через ps aux | grep <имя> и завершить её с помощью kill PID или более принудительно kill -9 PID.
Управление задачами и фоновые процессы
- Запуск в фоне: command &
- Переключение между задачами: Ctrl+Z приостанавливает, потом fg/bg для возобновления на переднем/заднем плане
- Список задач текущей оболочки: jobs
Эти приёмы полезны, если вы запустили долгую операцию и хотите продолжать работу в том же терминале.
Перенаправления и пайплайны
Классический пример работы с вводом/выводом в Unix-подобных системах.
перезаписывает файл
дописывает в конец файла
- < берёт ввод из файла
- | — пайп: передаёт stdout одной команды как stdin другой
Примеры из статьи (с исправлением намерений):
ls > my_files
cat < file
cat files | ls
Более практичный пример:
ps aux | grep 'sh'
Пайплайны позволяют сочетать простые инструменты для решения сложных задач: фильтрация, сортировка, агрегация и преобразование.
Практические советы по работе с вводом/выводом
- Используйте tee для одновременной записи в файл и вывода на экран: command | tee out.txt
- Нулевой дескриптор для ошибок: 2> error.log, чтобы отделить stderr от stdout
- Перенаправление и конвейеры безопаснее в скриптах: всегда проверяйте возвращаемые коды команд ($?)
Командная строка не только для Linux
- macOS: стандартный Terminal содержит утилиты из BSD, в большинстве случаев они совместимы, но у некоторых опций синтаксис может отличаться.
- Windows: WSL (Windows Subsystem for Linux) позволяет запускать полноценные Linux-дистрибутивы и команды.
При переносе команд между системами проверяйте нюансы утилит (например, различия между GNU ls и BSD ls).
Putting It All Together: ImageMagick и FFmpeg
Одна из частых причин начать использовать терминал — пакетная обработка мультимедиа.
Примеры из статьи (с пояснениями и исправлениями синтаксиса):
Изменение размера изображения с помощью ImageMagick (современный интерфейс — magick):
magick old_image.jpg -resize 25% new_image.jpg
Разбор: команда magick принимает исходный файл, ключ -resize и целевой файл. В оригинальном примере порядок и синтаксис были упрощены; здесь — рекомендуемый.
Конвертация видео с помощью FFmpeg:
ffmpeg -i Big-buck-bunny_trailer.mp4 test.avi
FFmpeg по умолчанию выберет кодек для AVI-контейнера, но часто вы захотите явно указать кодеки и параметры качества:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
Где:
- -c:v — видеокодек
- -crf — параметр качества для x264 (меньше = лучше)
- -preset — скорость кодирования
- -c:a и -b:a — аудиокодек и битрейт
Совет. Перед пакетом конвертации протестируйте параметры на одном файле.
Частые рабочие сценарии и клише командной строки
- Массовое изменение размера изображений в каталоге:
for f in *.jpg; do magick "$f" -resize 1024x768 "resized/$f"; done
- Конвертация всех .mov в .mp4:
mkdir -p converted
for f in *.mov; do ffmpeg -i "$f" -c:v libx264 -crf 23 -c:a aac "converted/${f%.*}.mp4"; done
- Поиск и удаление временных файлов старше 30 дней:
find /path/to/dir -type f -name '*.tmp' -mtime +30 -print -exec rm {} \;
Советы по безопасности и резервному копированию
- Всегда проверяйте, что делает команда, прежде чем запускать её с sudo.
- Для критичных операций делайте резервную копию: cp file file.bak или rsync -a.
- Используйте version control (Git) для текстовых файлов и сценариев.
Когда терминал не лучший инструмент
- Удобство редактирования изображений. Если нужна точная ручная правка, графические редакторы лучше.
- Сложные визуальные рабочие процессы, где нужно перетаскивание и визуальный контроль.
- Новичкам иногда удобнее освоить концепции в GUI, а затем перейти в терминал.
Альтернативные подходы
- Графические front-end для командных утилит (например, редакторы для FFmpeg) — полезны для новичков.
- Скрипты на Python/Node.js для сложных рабочих процессов, где удобнее использовать библиотеки,
- Использование контейнеров (Docker) для изоляции окружения и гарантии повторяемости.
Ментальные модели и эвристики
- Малые инструменты, сложные цепочки: представляйте пайплайн как сборку из кирпичиков — каждая команда делает одно.
- «Сделай тестовый запуск» — прежде чем обрабатывать тысячи файлов, проверьте на 1–3 примерах.
- «Выход — это текст» — вывод команд лучше сохранять в файлы и проверять, прежде чем подавать дальше.
Микро-методика обучения терминалу (пошагово)
- Проведите 30 минут за практическими упражнениями: создайте структуру папок, перемещайте файлы.
- Изучите 10 ключевых команд и их опции (man). Запишите 5 алиасов, которые ускорят работу.
- Напишите простой скрипт для повторяющейся задачи.
- Настройте Git и начните версионировать свои скрипты.
- Повторяйте и расширяйте набор инструментов: grep, awk, sed, find, xargs, cron.
Ролевые чек-листы
Разработчик:
- Уметь менять директории и искать файлы (cd, ls, find)
- Использовать git из терминала
- Писать и запускать локальные скрипты
- Перенаправлять вывод в логи
Системный администратор:
- Уметь читать процессы и управлять сервисами (ps, systemctl)
- Собирать журналы и фильтровать их (journalctl, grep)
- Автоматизировать резервное копирование (rsync, cron)
Дизайнер/медиа-специалист:
- Массовая обработка изображений (ImageMagick)
- Пакетная конвертация видео (FFmpeg)
- Контроль качества вывода (пробные рендеры)
Новичок:
- Освоить pwd, ls, cd, cat, less, rm
- Не запускать команды под sudo без понимания
- Делать резервные копии перед удалением
Критерии приёмки
Задача: уменьшить изображения в папке images до ширины 1024px и поместить в resized/
Критерии приёмки:
- В папке resized/ появились файлы с теми же именами и расширениями
- Ширина каждого изображения равна 1024px (или меньше, если исходник уже меньше)
- Скрипт отрабатывает без ошибок на десяти тестовых файлах
- Исходные файлы не были удалены
Примеры тест-кейсов
- Тест на одном файле: запустить magick для одного изображения, проверить размер.
- Тест на 10 файлах разного формата (.jpg, .png): проверить, что все конвертировались.
- Отказоустойчивость: один испорченный файл не должен прерывать обработку остальных.
Краткий глоссарий (1 строка каждый)
- Shell: оболочка, принимающая команды пользователя.
- Пайплайн: передача вывода одной команды в другую через |
- stdin/stdout/stderr: стандартный ввод, вывод и вывод ошибок.
- Alias: короткая команда, заменяющая более длинную.
Частые ошибки и способы их избежать
- Неправильный путь в cd: используйте Tab для автодополнения.
- Стирание нужных файлов rm: сначала mv в временную папку или использовать rm -i.
- Неправильные параметры ffmpeg: используйте -c:v и -crf для контроля качества.
Сравнение инструментов и совместимость
- GNU coreutils (Linux) vs BSD utils (macOS): большинство команд совместимы, но опции могут отличаться.
- WSL: обеспечивает отличную совместимость с Linux-программами, но файловая система между Windows и WSL стоит учитывать (производительность, права доступа).
Быстрый чек-лист перед выполнением критичных операций
- Сделал резервную копию?
- Тестировал команду на примере?
- Понимаю ли я назначение sudo?
- Есть ли у меня план отката в случае ошибки?
Социальные превью (рекомендации)
OG title: Начальный гид по терминалу Linux OG description: Быстрый старт по базовым командам, перенаправлениям и примерам с ImageMagick и FFmpeg.
Заключение
Терминал — мощный инструмент: он ускоряет работу, даёт гибкость и автоматизацию. Начните с базовых команд, экспериментируйте с пайплайнами и применяйте полученные навыки в реальных задачах — автоматизации рутинных операций, пакетной обработке медиа и администрировании систем. Практикуясь регулярно, вы быстро почувствуете прирост эффективности.
Это краткое введение даёт отправную точку; дальше — ваш опыт и конкретные задачи, которые вы будете автоматизировать с помощью командной строки.
Похожие материалы

3 способа вернуть кнопку «View Image» в Google

Видео‑интро для YouTube: как создать и где сделать

Установка мода Real Vendors Name — Cyberpunk 2077

Удалить историю поиска YouTube — полное руководство

Как начать работать с терминалом Linux
