Терминал для новичка: справочник команд
Терминал пугает с первого взгляда — чёрный экран, мигающий курсор, никаких подсказок. Но большинство задач решается десятком команд, которые легко запомнить за один вечер.
Этот справочник — для тех, кто хочет уверенно работать с командной строкой: разработчиков, продактов, аналитиков и всех, кто регулярно сталкивается с терминалом в реальных проектах.
Навигация по файловой системе
pwd — показывает, в какой папке вы сейчас находитесь (Print Working Directory).
ls — список файлов и папок в текущей директории. ls -la покажет скрытые файлы и подробную информацию о правах доступа.
cd путь — переход в папку (Change Directory). Несколько примеров:
cd Documents # перейти в папку Documents
cd .. # подняться на уровень выше
cd ~ # перейти в домашнюю папку
cd - # вернуться в предыдущую папкуtree — показывает структуру папок в виде дерева. Если не установлен: brew install tree (macOS) или apt install tree (Linux).
Работа с файлами и папками
mkdir название — создать папку. mkdir -p путь/к/папке создаст всю цепочку вложенных папок сразу.
touch файл.txt — создать пустой файл.
cp откуда куда — скопировать файл. cp -r папка/ новая_папка/ — скопировать папку целиком.
mv откуда куда — переместить или переименовать файл.
rm файл — удалить файл. Внимание: в терминале нет корзины, файл удаляется навсегда. rm -rf папка/ удалит папку со всем содержимым — используйте с осторожностью.
cat файл — вывести содержимое файла в терминал. Для длинных файлов удобнее less файл — с постраничной прокруткой.
open . — открыть текущую папку в Finder (macOS). На Linux: xdg-open .
Поиск
find . -name "*.json" — найти все файлы с расширением .json в текущей папке и вложенных.
grep "текст" файл — найти строки с нужным текстом в файле. grep -r "текст" . — рекурсивный поиск по всем файлам в папке.
grep -i "текст" файл — поиск без учёта регистра.
Процессы
ps aux — список всех запущенных процессов.
top или htop — интерактивный мониторинг процессов и нагрузки на CPU/память. htop удобнее, устанавливается отдельно.
kill PID — завершить процесс по его ID (PID видно в ps aux или htop).
Ctrl + C — прервать выполнение текущей команды.
Ctrl + Z — приостановить процесс (он уйдёт в фон). fg вернёт его на передний план.
command & — запустить команду в фоне, не блокируя терминал.
Сеть
curl https://example.com — отправить GET-запрос к URL и вывести ответ. Удобно для быстрой проверки API.
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com — POST-запрос с JSON-телом.
wget https://example.com/file.zip — скачать файл.
ping example.com — проверить доступность хоста.
ssh user@host — подключиться к удалённому серверу по SSH.
Git — основные команды
Git — система контроля версий. Если работаете с кодом или конфигами, без него не обойтись.
git init # инициализировать репозиторий в текущей папке
git clone URL # клонировать репозиторий
git status # посмотреть состояние файлов
git add . # добавить все изменения в индекс
git commit -m "Описание" # зафиксировать изменения
git push # отправить коммиты на сервер
git pull # получить последние изменения
git log --oneline # краткая история коммитов
git diff # посмотреть незафиксированные изменения
git checkout -b новая-ветка # создать и переключиться на новую веткуПеременные окружения
echo $PATH — вывести значение переменной PATH (список папок, где терминал ищет команды).
export ПЕРЕМЕННАЯ=значение — установить переменную окружения для текущей сессии.
echo $ПЕРЕМЕННАЯ — вывести значение переменной.
Чтобы переменная сохранялась между сессиями, добавьте export ... в файл ~/.zshrc (для zsh) или ~/.bashrc (для bash).
Полезные лайфхаки
История команд. history показывает все введённые команды. Ctrl + R открывает поиск по истории — начните вводить фрагмент команды, и терминал найдёт совпадение.
Автодополнение. Нажмите Tab — терминал попробует дополнить имя команды, файла или папки. Двойной Tab покажет все варианты.
Конвейер (pipe). | — передаёт вывод одной команды на вход другой:
ls -la | grep ".json" # показать только .json файлы
cat лог.txt | grep "ERROR" # найти строки с ошибками в логеПеренаправление вывода. > записывает вывод в файл (перезаписывает), >> — добавляет:
echo "hello" > файл.txt
ls >> список.txtАлиасы. Можно создать короткие псевдонимы для длинных команд. Добавьте в ~/.zshrc:
alias ll="ls -la"
alias gs="git status"Шпаргалка: команды, которые нужны каждый день
| Задача | Команда |
| Где я? | pwd |
| Что здесь? | ls -la |
| Перейти в папку | cd папка |
| Создать папку | mkdir название |
| Удалить файл | rm файл |
| Найти файл | find . -name "имя" |
| Найти текст | grep -r "текст" . |
| Скачать файл | wget URL |
| Проверить API | curl URL |
| Состояние git | git status |
Нужна помощь с конкретной задачей — Telegram: t.me/pimenov