Терминал: базовые команды
Терминал (командная строка, shell) — текстовый интерфейс для управления операционной системой: запуск программ, навигация по файлам, автоматизация задач через команды bash/zsh/sh.
Зачем нужно
Разработчику без терминала не обойтись: git, npm, docker, ssh работают только через CLI. Знание базовых команд позволяет эффективно работать с любым проектом, писать скрипты автоматизации и работать на удалённых серверах.
Где используется
- Запуск dev-сервера, тестов, сборки (
npm run dev,npm test) - Git операции: commit, push, pull, branch
- SSH-сессии на удалённых серверах и в Docker контейнерах
- CI/CD пайплайны — все шаги выполняются как shell-команды
Навигация
pwd # текущая директория
cd ~/projects/my-app # перейти по пути
cd .. # на уровень вверх
cd - # предыдущая директория
ls -la # список файлов с деталями и скрытыми
Просмотр файлов
cat file.txt # вывести содержимое файла
cat package.json # часто используется для просмотра конфига
less file.txt # постраничный просмотр (q — выход)
head -20 server.log # первые 20 строк
tail -50 server.log # последние 50 строк
tail -f server.log # следить за обновлениями (follow)
Поиск
# Поиск файлов
find . -name "*.ts" # все TypeScript файлы
find . -name ".env" -type f # только файлы
# Поиск по содержимому
grep -r "TODO" ./src # рекурсивно по тексту
grep -rn "console.log" ./src # с номерами строк
grep -rl "import React" ./src # только имена файлов
# Поиск в выводе команды (pipe)
npm list | grep eslint
ls -la | grep ".json()"
Переменные и вывод
# Переменные среды
echo $HOME # домашняя директория
echo $PATH # пути поиска исполняемых файлов
echo $NODE_ENV # переменная приложения
# Вывод
echo "Hello World"
echo "Port: $PORT"
# Вывод в файл
echo "text" > file.txt # перезаписать
echo "text" >> file.txt # добавить в конец
Процессы
# Управление процессами
Ctrl+C # остановить текущий процесс
Ctrl+Z # приостановить процесс (фон)
bg # продолжить приостановленный в фоне
fg # вернуть фоновый процесс
# Просмотр процессов
ps aux | grep node # все node процессы
kill -9 <PID> # завершить процесс принудительно
# Запуск в фоне
npm run dev &
Полезные операторы
# Цепочки команд
cd my-app && npm install && npm run dev # выполнить всё
npm run build || echo "Build failed" # OR (если первая провалилась)
npm install; npm run dev # всегда выполнить оба
# Pipe — передать вывод следующей команде
cat package.json | grep "version"
ls -la | sort -k5 -n # отсортировать по размеру
npm list 2>/dev/null | head -20 # скрыть ошибки
# Перенаправление
command > output.txt # stdout в файл
command 2> errors.txt # stderr в файл
command > out.txt 2>&1 # stdout и stderr вместе
command > /dev/null 2>&1 # игнорировать весь вывод
История и автодополнение
history # история команд
history | grep "npm" # поиск в истории
Ctrl+R # интерактивный поиск в истории
!! # повторить последнюю команду
!npm # последняя команда начинающаяся с npm
Tab # автодополнение команды, файла, директории
Tab Tab # показать все варианты
Частые ошибки
cd /my/pathна Windows cmd — абсолютные Unix-пути не работают. Использовать Git Bash или WSLgrep "pattern" *без-r— ищет только в текущей директории, не рекурсивноkill <PID>не завершает зависший процесс — нуженkill -9 <PID>(SIGKILL)- Забывают
&&между командами — если первая упала, вторая всё равно выполняется при; tail -f log.txtне обновляется — файл заблокирован. Попробоватьtail -F(следит за ротацией)
Связанные темы
- _MOC Инструменты
- Навигация по файловой системе
- Создание и удаление файлов
- Пакетные менеджеры -- npm vs yarn vs pnpm