macOS

Команды диска в терминале macOS: полное руководство по управлению

Этот гайд подробно объясняет использование терминала macOS для работы с дисками. Вы научитесь проверять свободное место, форматировать накопители, управлять разделами с помощью утилит diskutil, df, du и других.

Обновлено 14 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:macOS 12 MontereymacOS 13 VenturamacOS 14 Sonoma

Введение

Управление дисками в macOS через графический интерфейс (Дисковая утилита) удобно для большинства задач. Однако терминал предлагает гораздо больше контроля, особенно при автоматизации, удаленной работе или когда графический интерфейс недоступен. В этом руководстве вы узнаете, как использовать встроенные утилиты командной строки для работы с дисками: от простой проверки свободного места до форматирования и создания разделов.

Все команды работают на современных версиях macOS (Monterey, Ventura, Sonoma). Внимание: некоторые команды, особенно diskutil eraseDisk, безвозвратно удаляют данные. Всегда проверяйте идентификатор диска перед выполнением опасных операций.

Основные команды для работы с дисками

macOS предоставляет несколько ключевых утилит. Вот самые важные.

diskutil: швейцарский нож

diskutil — основная утилита для управления дисками и разделами. Она заменяет многие функции Дисковой утилиты.

Основные подкоманды:

  • diskutil list — показать все диски и разделы.
  • diskutil info /dev/diskX — подробная информация о диске.
  • diskutil mount /dev/diskXsY — смонтировать раздел.
  • diskutil unmount /dev/diskXsY — размонтировать раздел.
  • diskutil eraseDisk Формат Имя /dev/diskX — отформатировать весь диск.
  • diskutil partitionDisk /dev/diskX Формат Имя ... — создать разделы.

df и du: проверка использования места

  • df (disk free) показывает свободное и занятое место на смонтированных файловых системах.
    • df -h — в человеко-читаемом формате (ГБ, МБ).
    • df -i — показывает использование inodes (полезно при ошибке "No space left on device" хотя место есть).
  • du (disk usage) оценивает использование места файлами и директориями.
    • du -sh /путь/к/папке — суммарный размер папки в читаемом виде.
    • du -h --max-depth=1 / — размер каждой папки в корне (требует sudo для некоторых системных папок).

mount и umount: управление монтированием

  • mount — показать все смонтированные файловые системы (аналог df).
  • umount /dev/diskXsY — размонтировать раздел (устаревший синтаксис, лучше diskutil unmount).

Другие полезные команды

  • ls /Volumes — просмотр смонтированных томов (внешних дисков) как папок.
  • diskutil verifyDisk /dev/diskX — проверка диска на ошибки (аналог "Первая помощь").
  • sudo fdisk -l — список всех разделов (требует пароль, показывает и не-APFS разделы).

Практические примеры

Просмотр всех дисков и разделов

diskutil list

Вывод будет примерно таким:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *512.1 GB   disk0
   1:                        EFEFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         511.8 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +511.8 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            465.3 GB   disk1s1
   2:                APFS Volume Preboot                 52.2 MB    disk1s2
   3:                APFS Volume Recovery               528.7 MB   disk1s3
   4:                APFS Volume VM                      4.2 GB     disk1s4

Обратите внимание на идентификаторы: disk0 — физический диск, disk1 — APFS-контейнер, disk1s1 — том внутри контейнера.

Проверка свободного места на основном диске

df -h /

Пример вывода:

Filesystem      Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s1   466G   420G   46G    91%  1000000 1000000000    0%   /

Здесь видно, что на основном разделе (Macintosh HD) свободно 46 ГБ из 466 ГБ.

Форматирование внешнего диска

Предупреждение: все данные на диске будут удалены!

  1. Подключите внешний диск.
  2. Узнайте его идентификатор: diskutil list. Пусть это disk2.
  3. Выполните форматирование (например, в exFAT для совместимости с Windows и macOS):
diskutil eraseDisk exFAT MyExternalDisk /dev/disk2

После завершения диск появится как MyExternalDisk в /Volumes.

Создание нового раздела на диске

Если у вас есть свободное место на диске (например, disk2), вы можете создать новый раздел:

diskutil partitionDisk /dev/disk2 GPT JHFS+ NewPartition 100g

Эта команда:

  • Использует схему GPT.
  • Создает один раздел в формате JHFS+ (macOS расширенный) размером 100 ГБ с именем "NewPartition".
  • Остальное место останется неразмеченным (можно создать еще разделы).

Монтирование и размонтирование дисков

Если диск не смонтировался автоматически:

diskutil mount /dev/disk2s1

Для безопасного извлечения (размонтирования) перед отключением:

diskutil unmount /dev/disk2s1

⚠️ Важно: никогда не отключайте внешний диск, не размонтировав его через diskutil unmount или через Finder (правый клик → "Из eject"). Это может привести к потере данных.

Важные предупреждения

  • Проверяйте идентификатор диска (diskutil list) перед любой операцией erase или partition. Ошибка в идентификаторе (например, disk0 вместо disk2) может привести к полной потере данных на системном диске.
  • При форматировании в APFS используйте APFS (или APFS (Encrypted) для шифрования). Для совместимости с более старыми macOS используйте JHFS+.
  • Команды, требующие прав суперпользователя (например, diskutil verifyDisk на системном диске), запросят пароль. Вводите пароль администратора.
  • df -h показывает только смонтированные файловые системы. Если диск подключен, но не смонтирован, его не будет в выводе. Используйте diskutil list для проверки.

::in-article-ad

::

Автоматизация рутинных задач

Терминал позволяет создавать скрипты для регулярных операций. Например, скрипт для проверки свободного места на всех дисках и отправки уведомления, если место заканчивается:

#!/bin/bash
# check_disk_space.sh
THRESHOLD=10 # процент свободного места, при котором выводить предупреждение
df -h | grep -v Filesystem | while read output; do
  usage=$(echo $output | awk '{print $5}' | cut -d'%' -f1)
  partition=$(echo $output | awk '{print $6}')
  if [ $usage -ge $THRESHOLD ]; then
    echo "Предупреждение: на разделе $partition осталось только $usage% свободного места."
  fi
done

Сохраните как check_disk_space.sh, дайте права на выполнение (chmod +x check_disk_space.sh) и запускайте регулярно через cron или launchd.

Что дальше?

После освоения базовых команд вы можете:

  • Изучить man diskutil для полного описания всех опций.
  • Попробовать diskutil cs (CoreStorage) для управления логическими томами (если используете FileVault или старые диски).
  • Использовать hdiutil для работы с образом диска (создание, монтирование .dmg файлов).
  • Написать более сложные скрипты для резервного копирования или мониторинга.

Помните: с большой мощью приходит большая ответственность. Всегда делайте резервные копии важных данных перед операциями с дисками.

Часто задаваемые вопросы

Как посмотреть список всех дисков и разделов в терминале macOS?
Как проверить свободное место на диске через терминал?
Как отформатировать внешний диск в exFAT через терминал?
Можно ли смонтировать или размонтировать диск через терминал?

Полезное

Откройте Терминал
Просмотрите список дисков
Проверьте свободное место
Отформатируйте диск (осторожно!)
Смонтируйте или размонтируйте диск

Эта статья помогла вам решить проблему?