
Терминал предоставляет прямой доступ к файловой системе и системным ресурсам. С его помощью можно выполнять задачи, которые сложны или невозможны через графический интерфейс. Например, создание резервных копий нескольких папок одной командой или массовое переименование файлов с использованием bash-скриптов.
Работа с терминалом требует понимания базовых команд и их аргументов. Команды ls, cd и pwd позволяют мгновенно ориентироваться в структуре каталогов, а cp и mv помогают перемещать и копировать данные без лишних шагов. Даже базовые навыки ускоряют повседневные операции в разы.
Этот материал собран для того, чтобы дать практические навыки, которые применимы сразу. Здесь рассматриваются конкретные сценарии: работа с файлами и каталогами, редактирование текстов, управление процессами и автоматизация задач через скрипты. Каждый пример можно воспроизвести на Linux или macOS, а часть команд работает и в Windows через PowerShell или WSL.
Запуск терминала и настройка рабочей среды
На Linux терминал запускается через сочетание клавиш Ctrl+Alt+T или через поиск по приложению «Terminal». На macOS используется Spotlight → Terminal или iTerm2 для расширенных возможностей. В Windows доступ возможен через PowerShell или WSL для запуска Linux-команд.
После открытия терминала рекомендуется сразу проверить текущую рабочую директорию с помощью pwd и список содержимого командой ls -la. Это позволит убедиться, что вы находитесь в нужном каталоге и видеть скрытые файлы.
Настройка рабочей среды включает определение переменных окружения и добавление нужных путей в PATH. Например, export PATH=$PATH:/opt/scripts позволяет запускать скрипты без указания полного пути. Для постоянной настройки следует добавлять команды в .bashrc или .zshrc в зависимости от используемой оболочки.
Установка пользовательских алиасов ускоряет выполнение часто используемых команд. Пример: alias ll=’ls -lh’ отображает список файлов с удобным форматированием. После редактирования конфигурационных файлов необходимо выполнить source ~/.bashrc или source ~/.zshrc для применения изменений без перезапуска терминала.
Навигация по файловой системе через команды

Ориентация в файловой системе через терминал начинается с базовых команд, которые позволяют быстро перемещаться между каталогами и просматривать их содержимое.
- cd [путь] – переход в указанный каталог. Например, cd /home/user/Documents перемещает в папку Documents.
- cd .. – переход на уровень выше в структуре каталогов.
- cd ~ или просто cd – переход в домашний каталог пользователя.
Просмотр содержимого каталогов выполняется с помощью команды ls. Для более подробного отображения можно использовать опции:
- ls -l – подробный список с правами доступа, владельцем и размером файлов.
- ls -a – отображение скрытых файлов и папок.
Для быстрого перехода к часто используемым папкам удобно применять абсолютные и относительные пути:
- Абсолютный путь: полный адрес от корня файловой системы, например, /var/log/apache2.
- Относительный путь: адрес относительно текущего каталога, например, ../Downloads для перехода в соседнюю папку.
Комбинация этих команд позволяет эффективно перемещаться по файловой системе и находить нужные директории без использования графического интерфейса.
Создание, копирование и удаление файлов и папок
Работа с файлами и папками в терминале требует точного указания путей и опций команд для предотвращения ошибок и потери данных.
- Создание файлов: команда touch имя_файла создаёт пустой файл, например, touch report.txt.
- Создание папок: команда mkdir имя_папки создаёт каталог, например, mkdir Projects. Для создания вложенных папок используйте mkdir -p папка1/папка2.
- Копирование файлов: cp источник назначение, например, cp report.txt /home/user/Backup/. Опция -r используется для копирования папок: cp -r Projects /home/user/Backup/.
- Перемещение и переименование: mv источник назначение перемещает файл или папку, а также позволяет изменить имя: mv old.txt new.txt.
- Удаление файлов: rm имя_файла удаляет файл. Для удаления нескольких файлов одновременно используйте rm file1.txt file2.txt.
- Удаление папок: rm -r имя_папки удаляет папку с содержимым, например, rm -r OldProjects. Для принудительного удаления добавьте -f: rm -rf временная_папка.
При работе с командами удаления рекомендуется использовать ls для проверки содержимого перед выполнением rm -r, чтобы избежать случайного удаления важных данных.
Поиск файлов и содержимого с помощью команд
Для быстрого поиска файлов в терминале используется команда find. Пример: find /home/user -name «*.txt» находит все текстовые файлы в указанной директории и её подкаталогах. Опция -type d ограничивает поиск только папками, -type f – только файлами.
Комбинирование find и grep позволяет фильтровать результаты по имени файла и содержимому одновременно. Например: find /home/user -type f -name «*.txt» -exec grep «ключевое_слово» {} \; ищет ключевое слово только в текстовых файлах.
Для ускорения работы с большим количеством файлов полезно использовать опцию -i в grep для поиска без учёта регистра, а —maxdepth в find ограничивает глубину поиска в подкаталогах.
Редактирование текстовых файлов через терминал

Для редактирования файлов в терминале используются консольные редакторы, такие как nano, vim и vi. Nano удобен для быстрого редактирования: nano файл.txt открывает файл, Ctrl+O сохраняет изменения, Ctrl+X закрывает редактор.
Vim и vi предлагают расширенные возможности для работы с текстом. Для открытия файла используется vim файл.txt. Вставка текста выполняется в режиме вставки (i), а сохранение и выход через команду :wq. Для отмены изменений используется u, для повторного действия Ctrl+R.
Для просмотра файлов без редактирования используются cat, less и head/tail. Например, tail -f лог.txt позволяет отслеживать новые строки в реальном времени.
Управление процессами и задачами в терминале
Для динамического мониторинга процессов применяется top или более продвинутая htop. Эти команды отображают процессы в реальном времени и позволяют сортировать их по нагрузке CPU или памяти.
Остановка процессов выполняется через kill с указанием PID: kill 1234. Для принудительного завершения используется kill -9 1234. Массовое завершение процессов по имени возможно через pkill: pkill firefox.
Для запуска процессов в фоне используется &: ./скрипт.sh &. Возврат в терминал после запуска осуществляется с помощью jobs, fg и bg, чтобы переводить задачи между фоновым и активным режимом.
Настройка сетевых соединений и проверка состояния сети

Для отображения текущих сетевых интерфейсов используется команда ip addr или ifconfig. Она показывает IP-адреса, маску подсети и статус интерфейсов.
Проверка доступности удалённого узла выполняется командой ping: ping 8.8.8.8 отправляет ICMP-запросы и измеряет задержку и потерю пакетов.
Для диагностики маршрута используется traceroute (или tracert в Windows). Пример: traceroute example.com показывает последовательность промежуточных узлов от вашей машины до сервера.
Настройка статического IP осуществляется через редактирование конфигурационных файлов или командой ip addr add 192.168.1.100/24 dev eth0. Для включения интерфейса используется ip link set eth0 up.
Для проверки открытых портов на локальной машине применяется netstat -tuln или ss -tuln. Команды показывают TCP и UDP порты, к которым привязаны процессы.
Использование скриптов для автоматизации повторяющихся задач
Автоматизация задач через терминал позволяет сократить время выполнения однотипных операций и минимизировать ошибки. Для этого создаются скрипты на bash или sh, которые объединяют последовательность команд.
Пример базового скрипта для резервного копирования папки:
#!/bin/bash
SRC="/home/user/Documents"
DEST="/home/user/Backup"
DATE=$(date +%Y-%m-%d)
cp -r $SRC $DEST/backup_$DATE
После создания скрипта необходимо установить права на выполнение:
chmod +x backup.sh
Запуск скрипта осуществляется командой:
./backup.sh
Для планирования регулярного выполнения используется cron. Пример таблицы для ежедневного запуска скрипта в 02:00:
| Минуты | Часы | День месяца | Месяц | День недели | Команда |
|---|---|---|---|---|---|
| 0 | 2 | * | * | * | /home/user/backup.sh |
Использование переменных, условных операторов и циклов внутри скриптов позволяет автоматизировать фильтрацию файлов, переименование, отправку уведомлений и выполнение других повторяющихся операций без постоянного вмешательства пользователя.
Вопрос-ответ:
Как быстро проверить, какие процессы занимают больше всего памяти в терминале?
Для этого можно использовать команду top или htop. В top процессы сортируются по загрузке CPU по умолчанию, но нажатием M сортировка переключается на использование памяти. В htop сразу видна колонка с использованием RAM, и можно сортировать процессы кликом или клавишами. Это позволяет быстро определить ресурсоёмкие задачи и при необходимости завершить их через kill или pkill.
Как создать резервную копию нескольких папок одновременно через терминал?
Можно объединить несколько команд копирования в один скрипт или использовать команду cp -r для каждой папки. Например: cp -r /home/user/Documents /home/user/Backup/Documents и cp -r /home/user/Projects /home/user/Backup/Projects. Для автоматизации удобно создать скрипт, где каждая папка указана в переменной, и запускать его раз в день или через cron для регулярного копирования.
Можно ли искать текст внутри файлов сразу в нескольких каталогах?
Да, для этого используется grep -r «текст» /путь/к/каталогу. Опция -r позволяет рекурсивно обходить все подкаталоги. Если нужно игнорировать регистр букв, добавьте -i. Комбинация find с grep позволяет ограничить поиск конкретными типами файлов: find /путь -type f -name «*.txt» -exec grep «ключевое слово» \;.
Каким образом можно запустить скрипт, чтобы он продолжил работу после закрытия терминала?
Для этого используется команда nohup. Пример: nohup ./скрипт.sh &. Символ & переводит задачу в фоновый режим, а nohup предотвращает её завершение при закрытии терминала. Рекомендуется перенаправлять вывод в файл, например: nohup ./скрипт.sh > output.log &, чтобы видеть результаты выполнения.
Как быстро проверить состояние сетевого интерфейса и IP-адрес через терминал?
Команда ip addr выводит список всех сетевых интерфейсов с назначенными IP-адресами и маской подсети. Для старых систем можно использовать ifconfig. Вывод показывает статус интерфейсов (включен/выключен), что позволяет понять, активен ли сетевой адаптер, и при необходимости включить его командой ip link set eth0 up.
Как быстро массово переименовать файлы в терминале, чтобы добавить префикс к каждому имени?
Для массового переименования файлов можно использовать цикл в bash или команду rename. Например, если нужно добавить префикс «backup_» ко всем текстовым файлам в папке, можно выполнить: for f in *.txt; do mv «$f» «backup_$f»; done. Этот цикл перебирает все файлы с расширением .txt и создаёт новые имена с префиксом. Альтернативно, команда rename ‘s/^/backup_/’ *.txt делает то же самое без явного цикла, изменяя все имена файлов, соответствующих шаблону, за один запуск.
