通过UUID查找卷

Pie*_*ard 4 macos cocoa macos-carbon

我知道卷的UUID - 如"磁盘工具"中所示.

如何获得有关卷的其他信息?最重要的是,我想知道它的挂载点.

查看/ etc/fstab并不能解决问题.这不会列出根卷.我至少需要弄清楚根卷的UUID来验证我已知的UUID.

Pet*_*sey 10

您可以使用diskutil通过其UUID查找磁盘,使用-plist选项以机器可解析的格式获取输出:

% diskutil info /Volumes/RAM\ Disk | grep -F UUID
   Volume UUID:              EA20BE94-5F3C-3C02-901D-A213B5AB6831

% diskutil info -plist EA20BE94-5F3C-3C02-901D-A213B5AB6831
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!--snip-->
    <key>MountPoint</key>
    <string>/Volumes/RAM Disk</string>
    <!--snip-->
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

您可以使用NSTask和NSPipe从程序中运行diskutil并捕获输出.

附录:并非所有卷都有UUID.我的相机有一个内置的只读MS-DOS格式的卷,根据磁盘工具和diskutil没有UUID.因此,请确保您的程序可以处理来自上述diskutil info … | grep管道的空输出.