Терминал Mac OS: полезные команды для повседневных задач

Графический интерфейс, конечно, удобен. Он как уютное кафе: всё на виду, понятно и предсказуемо. Но иногда тебе нужен не уют, а кувалда, чтобы пробить стену. Или скальпель, чтобы добраться до самого сердца системы. Для меня, человека, который уже лет двадцать ковыряется в железе и софте, macOS Terminal — это не просто инструмент, это продолжение руки. Особенно когда нужно решать задачи, которые в российских реалиях 2025 года могут быть весьма специфическими.

В наше время, когда облака то доступны, то нет, а VPN-сервисы ведут себя как капризные подростки, прямой, низкоуровневый контроль над системой становится бесценным. Это не просто знание команд, это понимание того, как система дышит, чем живет, и где у нее болит. И поверьте, эти знания не взять из общих гайдов на каком-нибудь западном ресурсе, потому что там нет наших «особенностей».

Файловый дирижер: когда finder не справляется

Начнем с самого банального, но жизненно необходимого — работы с файлами. Finder, конечно, красив, но он как менеджер среднего звена: все делает медленно, с кучей вопросов и иногда вообще не то. Терминал здесь — ваш личный коммандос.

ls: твой зоркий глаз

Мой вечный спутник. Забудьте про Finder, когда нужно быстро посмотреть содержимое каталога с правами и размерами. Команда ls -alh покажет вам все, как на ладони: скрытые файлы, размеры в человекочитаемом формате, права доступа. Это не просто информация, это карта вашей файловой системы.

ls -alh ~/Documents/Projects/

Лайфхак: если вам нужно найти файлы, например, за определенный год или с конкретным расширением, используйте связку ls и grep. Например, чтобы найти все .log файлы, созданные в 2024 году, можно попробовать что-то вроде:

ls -alh | grep "2024" | grep ".log"

Помню, как-то раз, на удаленке, когда интернет шалил, и я не мог открыть большой каталог в Finder (он просто зависал намертво), ls спас ситуацию. Нужно было найти конфиг, который я забыл куда засунул. За пару секунд я нашел его, хотя Finder мог бы и не ожить.

cp, mv, rm: классика с предостережениями

Классика жанра. Копировать, перемещать, удалять. Но здесь есть нюансы, о которых часто забывают новички.

  • cp -R: для копирования папок. Если забудете -R (рекурсивно), скопируете только пустую папку.
  • mv: перемещает файлы или переименовывает их. Универсальный солдат.
  • rm -rf: вот тут кроется дьявол. r — рекурсивно (удаляет содержимое папок), f — форсированно (без подтверждения). Каждый сисадмин знает эту шутку, которая может стать трагедией. Всегда, слышите, всегда перепроверяйте путь! Мне однажды чуть не пришлось объяснять руководству, почему бэкапы всей компании исчезли. Я перепутал удаленный сервер с локальным каталогом. Руки тряслись, но Ctrl+C сработал быстрее, чем Enter. Этот случай научил меня никогда не набирать rm -rf / или rm -rf .* без двойной проверки пути.

Лайфхак: используйте клавишу Tab для автодополнения путей и имен файлов. Это не просто фича, это мастхэв, чтобы не совершить фатальную опечатку. Она спасает нервы и данные.

du и df: когда диск забит

Когда диск забит под завязку, и нужно понять, кто виноват, эти команды — ваши лучшие друзья. Особенно актуально, когда работаешь с большими проектами, где кэши NPM, Docker, или Xcode могут разрастаться до неприличия, занимая сотни гигабайт.

  • du -sh *: покажет размер каждой папки в текущем каталоге.
  • df -h: покажет использование всех дисков в системе.

Лайфхак: du -sh * | sort -rh. Эта связка сразу покажет, кто живет не по средствам, отсортировав папки по размеру от большего к меньшему. Недавно у клиента макбук начал тормозить. Finder показывал в разделе «Разное» сотни гигабайт, а du сразу указал на кэш Xcode, занимавший 100+ ГБ. Очистка его через терминал решила проблему за минуту.

Сетевой дозор: где затык?

Проблемы с сетью? В условиях нестабильности внешних каналов и периодических блокировок, ping и traceroute становятся твоими лучшими друзьями для определения, где именно затык: у тебя, у провайдера, или где-то «там, за горизонтом».

ping и traceroute: первые шаги

ping ya.ru: проверяем доступность хоста. Если пинги идут, значит, связь есть. Если нет — копаем дальше.

ping ya.ru

traceroute ya.ru: покажет весь путь пакета до цели. Если пакеты «зависают» на каком-то из узлов, вы сразу поймете, где проблема: на вашем роутере, у провайдера или где-то дальше. Особенно полезно, когда используешь несколько VPN-туннелей или корпоративный DNS, и что-то идет не так.

traceroute ya.ru

netstat и lsof: кто что слушает

Когда какой-то сервис не запускается, потому что порт уже занят, или вы просто хотите понять, какие приложения используют сеть, эти команды незаменимы.

  • netstat -an | grep LISTEN: покажет все открытые порты, которые что-то слушают.
  • lsof -i :8080: если netstat показывает порт, а ты не понимаешь, кто его занял, lsof покажет процесс, который его использует.

Лайфхак: в прошлом месяце пытался запустить локальный сервер для тестового проекта, а он никак не поднимался. Оказалось, Skype умудрился занять нужный порт 8080. lsof спас пару часов нервов, которые могли бы уйти на безуспешные перезагрузки.

scutil --dns: когда dns сошел с ума

Проблемы с DNS? Это твой инструмент. Особенно актуально, когда вы переключаетесь между разными сетями, VPN-ами, или у вас настроен корпоративный DNS. Иногда macOS кеширует старые DNS-записи, и очистить их через GUI проблематично.

scutil --dns

Покажет текущие DNS-серверы и кеш. Если что-то не так, можно попробовать сбросить кеш: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Эта пара команд — ваш билет к нормальной работе с интернетом, когда браузеры не могут найти сайты, хотя пинг идет.

Системный аудит: под капотом macos

Иногда нужно заглянуть глубже, чем позволяют стандартные утилиты macOS. Мониторинг процессов, тонкая настройка системы — здесь терминал раскрывает всю свою мощь.

top и htop: кто жрет ресурсы

Стандартный top показывает процессы и их потребление ресурсов. Но он, честно говоря, как черно-белый телевизор. htop — это уже цветной, с пультом и всеми наворотами. Его нужно установить через Homebrew (об этом ниже), но оно того стоит.

top -o cpu

Покажет процессы, отсортированные по потреблению CPU. Замените cpu на rsize, чтобы увидеть, кто жрет оперативку.

htop

Один раз поставил htop через Homebrew, и забыл про стандартный top как про страшный сон. Это как пересесть с Жигулей на иномарку. Визуально, интуитивно, с возможностью убивать процессы прямо из интерфейса.

kill -9 PID: экстренное торможение

Когда приложение зависло намертво и не реагирует ни на что, даже на «Завершить принудительно» из Activity Monitor, на помощь приходит kill -9. Но используйте с осторожностью. Это как дефибриллятор: применять только когда пациент совсем плох, иначе можно убить систему или потерять данные.

kill -9 12345

(где 12345 —

Радик Камаев

Сисадмин с 20-летним опытом. Windows, Unix, Android.

Оцените автора
Познавательный портал