【发布时间】:2015-05-09 23:07:50
【问题描述】:
有没有办法从命令行弹出 OS X 计算机上所有已安装的硬盘驱动器卷?如果我可以将它包装在 shell 脚本中,Applescript 就可以了。
【问题讨论】:
标签: macos command-line applescript
有没有办法从命令行弹出 OS X 计算机上所有已安装的硬盘驱动器卷?如果我可以将它包装在 shell 脚本中,Applescript 就可以了。
【问题讨论】:
标签: macos command-line applescript
还有另一种优雅的方法可以在不知道确切名称的情况下卸载所有外部硬盘驱动器:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
要忽略网络安装和光盘,请使用:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true and local volume is true and free space is not equal to 0)'
【讨论】:
在终端尝试:
umount -a (通过 getfsent(3) 描述的所有文件系统都已卸载。)
umount -A (所有当前挂载的文件系统,除了根卸载。)
更多信息请见man umount。
好像你也可以用这个:
diskutil unmountDisk /dev/disk*
虽然没有测试它。如果不起作用,请尝试使用“unmount”而不是“unmountDisk”。
哦,我还找到了 eject 参数(而不是 unmountDisk)。这可能也很有趣。
diskutil eject /dev/* 似乎是您正在寻找的东西(参见 cmets)。
【讨论】:
diskutil eject 也停止旋转外部硬盘。 diskutil unmountDisk 保持旋转。
我发现这适用于弹出所有 dmg 和物理硬盘驱动器:
find /dev -name "disk[1-9]" -exec diskutil eject {} \;
【讨论】:
我是这样做的:
df | grep Volumes | awk '{ print $1 }' | while read disk; do diskutil unmount "$disk"; done
【讨论】:
您也可以使用diskutil eject /dev/disk2 或您想要弹出的任何设备号。这对我有用。
【讨论】: