diskutil 是 macos 内置磁盘管理命令行工具,支持分区、格式化、验证修复、挂载卸载及 apfs 专项操作,并可结合 shell 脚本实现自动化运维。

diskutil 是 macOS 内置的磁盘管理命令行工具,功能强大且无需额外安装。掌握常用参数能高效完成分区、格式化、验证修复、挂载卸载等操作,配合 Shell 脚本还可实现自动化运维,比如定时清理快照、批量重命名卷、自动挂载加密卷等。
基础设备与卷信息查看
快速识别磁盘拓扑结构是后续操作的前提:
-
diskutil list:列出所有物理磁盘、逻辑卷、APFS 容器及分区层级关系(含标识符如
disk0s1、disk2) - diskutil info diskX 或 diskutil info /dev/diskXsY:查看指定磁盘或分区详细属性(文件系统类型、UUID、是否可写、挂载点等)
- diskutil apfs list:专用于展示 APFS 容器、卷组、各卷(Volume)之间的归属和空间分配
常用磁盘操作命令
日常维护高频使用的功能,注意部分操作需管理员权限(加 sudo):
- diskutil eraseDisk JHFS+ MySSD disk2:将整块磁盘(如外接 SSD)格式化为 Mac OS 扩展(日志式),卷名为 MySSD
- diskutil eraseVolume exFAT DATA disk2s2:仅擦除指定分区(disk2s2),格式化为 exFAT,适用于跨平台共享盘
-
diskutil unmountDisk /dev/disk2:安全卸载整个磁盘(含所有分区),比单个
unmount更彻底 - diskutil mountDisk /dev/disk2:重新挂载已卸载的磁盘(常用于修复后恢复访问)
- diskutil verifyVolume /Volumes/MyDrive 和 diskutil repairVolume /Volumes/MyDrive:分别校验与尝试修复卷结构(对 APFS/HFS+ 均有效)
APFS 专项管理指令
针对 macOS 默认文件系统,提供容器级精细控制:
-
diskutil apfs resizeContainer disk1 0:扩展容器至所在磁盘剩余全部空间(
0表示“尽可能大”) -
diskutil apfs addVolume disk1 apfs Shared -role S:在容器
disk1中新增一个名为 Shared 的共享卷(-role S 表示 Shared 类型,支持跨用户访问) - diskutil apfs deleteVolume disk1s4:删除指定 APFS 卷(注意:不可逆,无回收站)
- diskutil apfs listSnapshots /Volumes/Macintosh\ HD:列出该卷所有本地快照(Time Machine 或系统自动创建)
自动化脚本实用示例
将重复操作封装为可复用脚本,提升效率并降低误操作风险:
-
自动挂载加密 APFS 卷:使用
diskutil apfs unlockVolume配合 keychain 查询密码,再mount;适合开机后静默挂载备份盘 -
清理过期本地快照:结合
tmutil listlocalsnapshots /与diskutil apfs deleteSnapshot,保留最近 3 个,其余自动清除 - 外置硬盘标准化初始化:检测新接入磁盘 → 卸载 → 格式化为 APFS → 创建指定名称卷 → 启用 Spotlight 索引 → 设置忽略大小写(可选)
-
磁盘健康状态巡检:遍历所有内部磁盘,执行
verifyVolume,失败时发通知(osascript -e 'display notification...')










