Шпаргалка для Terminal в macOS с zsh или bash. Большинство файловых команд есть и в Linux, но open ниже относится к macOS. Это не инструкция для PowerShell или cmd.exe. В примерах замени имена файлов и каталогов своими; пути с пробелами заключай в кавычки.
Навигация
pwd # текущая папка
ls # содержимое папки
ls -la # включая скрытые файлы, с подробностями
cd "My Folder" # перейти в папку с пробелом в имени
cd .. # на уровень выше
cd - # вернуться в предыдущую папку
Создание и просмотр файлов
mkdir project # создать папку
mkdir -p project/src # создать вложенные папки
touch notes.txt # создать файл; у существующего обновить время
printf '%s\n' "текст" > notes.txt # записать, заменив прежнее содержимое
printf '%s\n' "ещё строка" >> notes.txt # дописать в конец
cat notes.txt # вывести содержимое
less notes.txt # просмотр по страницам; q — выход
nano notes.txt # редактирование в nano
> перезаписывает существующий файл, а >> дописывает в конец. touch не очищает уже существующий файл.
Копирование, перемещение и удаление
cp notes.txt notes-copy.txt # скопировать файл
cp -R project project-copy # скопировать папку
mv notes-copy.txt old.txt # переименовать или переместить
rmdir empty-folder # удалить пустую папку
rm -i old.txt # удалить файл с запросом подтверждения
rm -r project-copy # удалить папку с содержимым
rm удаляет файлы без перемещения в Корзину. Перед рекурсивным удалением проверь текущую папку через pwd и путь. Опция -f подавляет подтверждения и не нужна для обычной работы. cp и mv тоже могут заменить существующий файл; опция -i включает запрос перед заменой.
Открытие файлов в macOS
open . # открыть текущую папку в Finder
open notes.txt # открыть в приложении по умолчанию
open -a "TextEdit" notes.txt # открыть в выбранном приложении
whoami # имя пользователя
date # дата и время
clear # очистить видимую область терминала
История команд
history # показать историю
!! # выполнить предыдущую команду
!42 # выполнить команду с номером 42 в истории
!git # выполнить последнюю команду, начинающуюся с git
Подстановка через ! зависит от оболочки и её настроек; примеры рассчитаны на интерактивные bash/zsh с включённым раскрытием истории. Перед повторным запуском команды лучше найти её стрелками или через Ctrl+R и проверить аргументы. sudo !! повторяет последнюю команду с правами администратора — используй только после проверки того, что будет выполнено.
Горячие клавиши
↑ / ↓ # предыдущая / следующая команда
Ctrl + R # поиск по истории
Ctrl + A # начало строки
Ctrl + E # конец строки
Ctrl + K # удалить текст справа от курсора
Ctrl + W # удалить слово слева
Ctrl + L # очистить видимую область
Ctrl + C # обычно прервать текущую команду
Ctrl + Z # приостановить текущую задачу
fg # вернуть задачу на передний план
bg # продолжить приостановленную задачу в фоне
Клавиши редактирования описаны для Emacs-режима, обычного для bash/zsh; в vi-режиме привязки другие. Ctrl+U в стандартном bash удаляет до начала строки, а в стандартном zsh может удалять всю строку. Ctrl+D на пустой строке может завершить оболочку; при вводе данных он обозначает конец ввода, а при редактировании непустой строки обычно удаляет символ под курсором.
В macOS сочетания с Option зависят от настройки Terminal «Использовать Option как клавишу Meta». За точными параметрами команды обращайся к локальной справке: например, man cp или man open; выход — клавиша q.
Чтобы открывать проект в редакторе из терминала, смотри настройку команды subl.