OS X 中是否有挂载点程序?

Bla*_*ing 7 filesystems macos

Linux 系统有一个/bin/mountpoint可用于检查特定目录是否是卷的安装点。Mac OS X 是否有等效的程序,或者是否有其他方法可以运行此检查?

Dan*_*eck 6

您可以解析mount要检查的目录的输出(在 之后on,用空格括起来)。但是,由于符号链接,这无法处理不同的路径。这里有一个解决方案,但它使这种方法复杂化。


或者,阅读 的退出代码diskutil info,如果它不为零,则它不是挂载点。

#!/usr/bin/env bash
[[ $# -eq 1 ]] || { echo "Exactly one argument expected, got $#" ; exit 1 ; }
[[ -d "$1" ]] || { echo "First argument expected to be directory" ; exit 1 ; }
diskutil info "$1" >/dev/null
RC=$?
if [[ $RC -eq 0 ]] ; then
  echo "$1 is a mount point"
else
  echo "$1 is not a mount point"
fi
exit $RC
Run Code Online (Sandbox Code Playgroud)

如果出于某种原因您想要真正的挂载点,请执行以下操作:

  1. 这里下载sysvinit的源代码。
  2. src/mountpoint.c在您选择的文本编辑器中打开并添加#include <sys/types.h>
  3. 确保您已安装 Xcode 及其命令行工具
  4. cc mountpoint.c -o mountpoint && sudo cp mountpoint /bin
  5. (可选)复制man/mountpoint.1/usr/share/man/man1.