Основные команды терминала в macOS
Терминал в macOS — это окно к Unix-системе под капотом. Зная десяток команд, вы быстрее перемещаетесь по файлам, ищете нужное и управляете процессами, не отрываясь от клавиатуры. Ниже — практический минимум с примерами, которые можно сразу пробовать.
Открыть терминал: Cmd + Space → введите «Terminal» → Enter.
По умолчанию в macOS используется оболочка zsh.
Навигация по файловой системе
Где я сейчас, что вокруг и как перейти в другую папку:
pwd # показать текущий путь (print working directory)
ls # список файлов в текущей папке
ls -la # подробный список, включая скрытые файлы (точечные)
cd ~/Documents # перейти в папку Documents
cd .. # на уровень выше
cd - # вернуться в предыдущую папку
cd # перейти в домашнюю папку (~)
Полезные сокращения путей:
~— домашняя папка пользователя (например,/Users/pavel);.— текущая папка;..— родительская папка;/— корень файловой системы.
Работа с файлами и папками
Создание, копирование, перемещение и удаление:
mkdir project # создать папку
mkdir -p src/components # создать вложенные папки сразу
touch index.html # создать пустой файл (или обновить дату изменения)
cp file.txt backup.txt # копировать файл
cp -R src/ dist/ # копировать папку рекурсивно
mv old.txt new.txt # переименовать
mv report.pdf ~/Desktop/ # переместить файл на рабочий стол
rm file.txt # удалить файл
rm -r folder/ # удалить папку со всем содержимым
Осторожно: rm удаляет мимо Корзины, без подтверждения.
Команда rm -rf особенно опасна — она молча сносит всё в указанной папке.
Всегда проверяйте путь перед Enter.
Просмотр содержимого файлов
cat notes.txt # вывести весь файл в терминал
less big.log # постранично (выход — клавиша q, поиск — /слово)
head -n 20 access.log # первые 20 строк
tail -n 20 access.log # последние 20 строк
tail -f app.log # следить за файлом в реальном времени (логи)
Поиск файлов и текста
Найти файлы по имени и нужную строку внутри файлов:
find . -name "*.php" # все .php-файлы в текущей папке и вложенных
find ~/Projects -type d -name node_modules # найти папки node_modules
grep "TODO" app.js # строки со словом TODO в файле
grep -rn "api_key" . # рекурсивный поиск по всем файлам с номерами строк
grep -ri "error" logs/ # без учёта регистра (-i)
Команды удобно соединять через конвейер | — вывод одной
становится входом другой:
ls -la | grep ".env" # показать только строки, где встречается .env
history | grep git # найти прошлые команды с git
Права доступа
В подробном выводе ls -la слева видны права вида
-rw-r--r--. Изменить их можно так:
chmod +x deploy.sh # сделать файл исполняемым
chmod 644 config.php # владелец — чтение/запись, остальные — чтение
sudo chown pavel file # сменить владельца (sudo = с правами администратора)
Префикс sudo выполняет команду от имени суперпользователя —
нужен для системных действий. Используйте его осознанно.
Процессы и система
top # активные процессы и нагрузка (выход — q)
ps aux | grep php # найти запущенные процессы php
kill 12345 # завершить процесс по PID
kill -9 12345 # принудительно завершить «зависший» процесс
lsof -i :3000 # кто занял порт 3000
Сеть
ping google.com # проверить доступность хоста (выход — Ctrl + C)
curl https://api.github.com # запрос к URL, вывод ответа
curl -O https://site.ru/file.zip # скачать файл
ifconfig | grep inet # локальные IP-адреса
Полезные мелочи
clear # очистить экран (или Cmd + K)
open . # открыть текущую папку в Finder
open index.html # открыть файл в приложении по умолчанию
echo $PATH # посмотреть переменную окружения PATH
man ls # справка по команде (выход — q)
Горячие клавиши, которые экономят время:
Tab— автодополнение имени файла или команды;↑/↓— листать историю введённых команд;Ctrl + C— прервать текущую команду;Ctrl + A/Ctrl + E— в начало / конец строки;Ctrl + R— поиск по истории команд.
Итог
Этого набора достаточно для повседневной работы: перемещаться по проекту,
управлять файлами, искать нужное, следить за логами и процессами. Дальше
стоит освоить переменные окружения, алиасы в ~/.zshrc и базовые
скрипты на bash — но начинать удобнее именно с команд выше. Лучший способ
запомнить — повторять их в реальных задачах.