为什么 mount 拒绝创建目录?

Bry*_*son 4 linux mount

我知道默认情况下,创建目录可能是一个坏主意,但是我相信没有理由不允许 mount 使用选项创建目录。

缺少功能是否有原因,或者它只是尚未实现?

Lar*_*end 11

在 Linux 中,您可以mount使用选项 ( x-mount.mkdir)指示创建目标目录。例如:

mount /dev/sdb1 -t ext4 -o rw,x-mount.mkdir /newdir/mntpoint
Run Code Online (Sandbox Code Playgroud)

告诉mount创建,/newdir/mntpoint如果它不存在。行为与 相同mkdir -p,因此如果/newdir不存在,它将为您创建它。如果存在/newdir/newdir/mntpoint存在,它不会失败——它会根据需要创建目录。

  • 手册说 x 应该是大写,即“X-mount.mkdir”,不知道这是否重要 (4认同)

Att*_*tie 1

mount不创建目录,因为那不是它的工作。它没有任何必要这样做;这并不是一个缺失的功能。

如果您要要求这样的功能,那么您还需要考虑其行为......例如,它的工作方式是否像mkdir或类似mkdir -p?此时,只用mkdir在偶尔想要建立目录的场景中就比较方便了。

  • 我本来打算写一个这样的答案(“做一件事并做好”),但后来我意识到“mount”现在可以创建循环设备。它在需要时像“losetup”一样工作,尽管“这不是它的工作”。 (3认同)