Terminal на Mac: основные команды и приёмы
- Terminal на Mac позволяет управлять системой с помощью текста: искать файлы, проверять использование диска, перемещать и удалять файлы, создавать папки и менять права доступа.
- Освойте синтаксис команд, работу с путями и правила экранирования пробелов — это снизит количество ошибок и ускорит повседневные задачи.
- Примеры: find для поиска, du для анализа размера, mv для перемещения, ls для просмотра, mkdir для создания, rm для удаления. Внизу — чеклист, шаблоны и советы по безопасности.
Быстрые ссылки
Что такое Terminal?
Общие советы по командной строке на Mac
Команды Terminal для улучшения рабочего процесса
Краткое резюме
Утилита Terminal на Mac позволяет выполнять мощные текстовые команды для задач, которым графический интерфейс может уступать по скорости или гибкости.
Понимание синтаксиса команд и путей (path) помогает точнее навигировать и управлять файлами.
Полезные команды: find — поиск, du — использование диска, mv — перемещение, ls — список, mkdir — создание папок, rm — удаление.

Что такое Terminal?
Terminal — это приложение, которое позволяет взаимодействовать с macOS через командную строку. macOS и Linux — Unix-подобные системы, поэтому многие команды и концепции схожи. Начиная с macOS Catalina, оболочкой по умолчанию является zsh (Z shell), хотя базовые команды, представленные ниже, будут работать и в bash.
Terminal удобен для:
- Быстрого поиска файлов вне индекса Spotlight.
- Управления пакетами с помощью Homebrew.
- Настройки прав доступа и автоматизации задач в скриптах.
Если вы часто используете Terminal, можно настроить приглашение zsh (prompt), алиасы и функции в файле ~/.zshrc для повышения удобства.
Общие советы по командной строке на Mac
Прежде чем разбирать конкретные команды, разберём несколько базовых концепций, которые уменьшат количество ошибок и непонимания.
Синтаксис команд
Обычная команда в zsh или bash имеет структуру:
[команда] [опции] [аргументы или путь к файлу/папке]Пример:
ls -la DownloadsГде:
- ls — команда
- -la — комбинация опций: -l (подробный вывод) и -a (включить скрытые файлы)
- Downloads — путь к папке
Совет: опции обычно начинаются с дефиса (-) или двойного дефиса (–) для длинных опций. Читайте man <команда> для деталей.
Путь к файлу
Путь (path) показывает, в каких вложенных папках хранится файл. Пример полного пути:
/Users/jdoe/Desktop/My\ Secrets.txtЕсли вы находитесь в домашней папке пользователя (проверьте командой pwd), можно использовать относительный путь:
Desktop/My\ Secrets.txtСимволы ~ обозначают домашнюю папку: ~/Desktop — то же, что /Users/jdoe/Desktop.
Пробелы и экранирование
Пробелы в именах файлов и папок необходимо экранировать, иначе оболочка разобьёт строку на аргументы. Два способа:
- Обернуть имя в кавычки:
ls Documents/"Path Test"- Поставить обратный слэш перед пробелом:
ls Documents/Path\ TestЕсли не экранировать, вы получите ошибку “No such file or directory”.
Автор изображения: Phil King / MakeUseOf
Sudo
Команда sudo временно повышает привилегии до администратора. Используйте её осторожно: она позволяет вносить изменения, которые могут повредить систему.
Пример:
sudo rm -R /path/to/folderВас попросят ввести пароль администратора. Если вы не уверены в команде — не используйте sudo.
Команды Terminal для улучшения рабочего процесса
Ниже разбор наиболее полезных команд с примерами, типичными опциями, альтернативами и случаями, когда команда не подходит.
Подсказка: для подробной справки по любой команде используйте:
man <команда>find
Заменяет Spotlight в ситуациях, когда нужно выполнить точный поиск по файловой системе, включая системные папки, которые Spotlight может пропускать.
Синтаксис состоит из: команда, опции, путь, выражение поиска. Пример:
find Documents -maxdepth 1 -name "p*"Разбор:
- Documents — каталог для поиска
- -maxdepth 1 — искать только в указанном каталоге без глубокой рекурсии
- -name “p*” — имена, начинающиеся на букву p
Замечания:
- find поддерживает регулярные выражения и шаблоны-джокеры.
- В разных реализациях (GNU find vs BSD find) некоторые опции могут отличаться. На macOS используется BSD-подобная версия; если у вас установлен GNU find через Homebrew, опции могут быть иными.
Когда find не подходит:
- Для поиска по содержимому файлов удобнее использовать grep или ripgrep (rg).
- Для индексированного и быстрого поиска по многим критериям удобнее Spotlight/Spotlight API.
Альтернативы:
- mdfind — интерфейс к Spotlight
- grep / rg — поиск текста внутри файлов
Автор изображения: Phil King / MakeUseOf
du
du показывает использование диска. Полезно для быстрого выявления больших папок.
Основные опции:
- -d N — глубина рекурсии N уровней
- -h — человекочитаемый формат (K, M, G)
Пример:
du -d 1 -h DocumentsПояснение: команда выведет общий размер файлов и папок первого уровня внутри Documents.
Когда du не подходит:
- Для интерактивного графического анализа можно использовать сторонние приложения типа DaisyDisk.
Автор изображения: Phil King / MakeUseOf
mv
mv перемещает или переименовывает файлы и папки. Она работает путём изменения пути к объекту.
Синтаксис:
mv <старый путь> <новый путь>Пример:
mv /Users/jdoe/Documents/file1.rtf /Users/jdoe/Desktop/file1.rtfСоветы:
- Когда вы указываете существующую папку как второй аргумент, файл перемещается в эту папку с тем же именем.
- mv не спрашивает подтверждения, если не указана опция -i (interactive).
Альтернативы:
- cp + rm — скопировать и удалить, если нужно сохранить оригинал до проверки.
ls
ls показывает содержимое директорий и даёт много дополнительной информации.
Полезные опции:
- -l — подробный список: права, владелец, размер, дата изменения
- -a — показать все файлы, включая скрытые
- -h — человекочитаемые размеры (в некоторых реализациях)
Пример:
ls -laПояснение: покажет полный список, включая скрытые файлы и подробную информацию.
Когда ls не подходит:
- Для расстановки приоритетов по размеру лучше использовать du вместе с сортировкой.
Автор изображения: Phil King / MakeUseOf
mkdir
Создаёт новую папку.
Пример:
mkdir /Users/jdoe/Desktop/cool_stuffСоветы:
- Используйте опцию -p, чтобы создать промежуточные папки, если их нет:
mkdir -p /tmp/project/{src,bin,docs}rm
rm удаляет файлы. По умолчанию rm удаляет только файлы; для удаления директорий используйте -R (рекурсивно).
Пример удаления папки:
rm -R /Users/jdoe/Desktop/cool_stuffПредупреждение: rm необратим. Если хотите дополнительную защиту, используйте -i для интерактивного подтверждения:
rm -i filenameАльтернативы:
- Перемещать в корзину удобнее через GUI или использовать утилиту trash (можно установить через Homebrew).
Практическая методология перехода задач из GUI в Terminal
Мини-метод:
- Сформулируйте задачу в одно предложение (например, «найти все файлы .log старше 30 дней»).
- Найдите подходящую команду и проверьте опции через man.
- Прогоните команду в тестовой папке или с флагом, который только выводит результат (например, find … -print), прежде чем удалять.
- Добавьте команду в алиасы или скрипт, если будете использовать регулярно.
- Документируйте в README или заметке, почему используете именно такой подход.
Когда команды не сработают или опасны
- find может быть медленным на очень больших файловых системах; для индексированного поиска используйте Spotlight или mdfind.
- rm без -i и без резервной копии может привести к потере данных; сначала делайте резервную копию.
- Команды с sudo могут изменить системные файлы и нарушить загрузку системы.
Чеклисты по ролям
Разработчик:
- Проверить текущую папку: pwd
- Посмотреть список файлов: ls -la
- Создать структуру проекта: mkdir -p project/{src,tests}
- Инициализировать git: git init
Системный администратор:
- Найти большие файлы: du -d 1 -h /var
- Проверить права: ls -l /etc
- Выполнить обслуживание: sudo apt/ brew update (в зависимости от менеджера)
Пользователь power user:
- Быстрый поиск: find ~/ -name “*.pdf”
- Освободить место: du -d 1 -h ~ | sort -hr | head
Контент-менеджер:
- Переименование партий файлов: for f in *.txt; do mv “$f” “new_$f”; done
- Архивация: tar -czvf archive.tar.gz folder/
Критерии приёмки
- Команда выполняет задачу без ошибок на тестовой папке.
- Есть подтверждение результата (показ вывода или лог).
- Для опасных команд предусмотрена страховка (backup или интерактивный режим).
Фактбокс: ключевые моменты
- ~ — домашняя папка пользователя.
- pwd — печатает текущую рабочую директорию.
- ls -la — подробный список, включая скрытые файлы.
- du -h -d 1 — быстрый обзор использования диска на первом уровне.
- find — поиск по имени и другим критериям, работает глубже, чем Spotlight.
Шаблоны и примеры команд
Шаблон поиска и удаления старых логов:
find /path/to/logs -type f -name "*.log" -mtime +30 -printПроверка перед удалением (выполните сначала, чтобы увидеть список):
find /path/to/logs -type f -name "*.log" -mtime +30 -printЗатем удаление после проверки:
find /path/to/logs -type f -name "*.log" -mtime +30 -exec rm {} \;Архивация папки с исключением больших временных файлов:
tar --exclude='*.tmp' -czvf backup.tar.gz /path/to/folderПеремещение и переименование с защитой перезаписи:
mv -n source.txt /destination/folder/Безопасность и защита данных
- Не используйте sudo без понимания последствий.
- Для удаления больших объёмов данных сначала делайте dry-run: замените rm на echo или используйте опцию -print в find.
- Храните резервные копии важных данных перед массовыми операциями.
- Для передачи прав используйте chown и chmod осознанно; проверяйте текущие права через ls -l.
Пример проверенной последовательности при изменении прав:
- Посмотреть текущие права: ls -l файл
- Изменить права: chmod 644 файл
- Проверить снова: ls -l файл
Примечания по приватности
- Операции в Terminal работают локально на вашем устройстве и не отправляют данные в облако сами по себе.
- Будьте внимательны при копировании и удалении файлов с личными данными; учитывайте правила локального и корпоративного хранения данных.
- Для обмена файлами используйте зашифрованные каналы и проверяйте, не попадают ли временные файлы в облачные синхронизации.
Ментальные модели и эвристики
- «Проверяй, прежде чем удалять»: всегда просматривайте результаты поиска перед удалением.
- «Простая команда, простой результат»: разбивайте сложные цепочки на шаги и выполняйте по одной команде за раз.
- «Автоматизируй повторяющееся»: если выполнили задачу вручную несколько раз, создайте алиас или скрипт.
Тестовые случаи и приёмка
Тест 1 — поиск файла:
- Вход: создать тестовую папку с файлами test1.txt, test2.log.
- Ожидаемый результат: find возвращает оба имени при шаблоне test.
Тест 2 — удаление с защитой:
- Вход: симулировать удаление с флагом -print.
- Ожидаемый результат: команда выводит список, файлы не удалены.
Глоссарий в одну строку
- shell: интерфейс командной строки; zsh — одна из оболочек.
- путь: последовательность папок, ведущая к файлу.
- алиас: краткая команда, указывающая на более длинную последовательность.
Короткое резюме
- Terminal даёт ускорение и гибкость по сравнению с GUI в задачах поиска, управления файлами и автоматизации.
- Начинайте с безопасных команд, читайте man, создавайте бэкапы и автоматизируйте повторяющееся.
Важно: перед выполнением команд, изменяющих или удаляющих данные, всегда проверяйте результат в тестовой папке или используйте интерактивный режим.
Авторская заметка: этот материал предназначен для повышения вашей продуктивности и безопасности при работе с Terminal на macOS. Применяйте рекомендации аккуратно и адаптируйте под ваши рабочие процессы.
Похожие материалы
Удаление и управление горизонтальными линиями в Word
Как архивировать письма в Outlook
Windows 11 22H2: совместимость и установка
Пустые строки в Word — быстрый метод
Как конвертировать видео в аудио — лучшие способы