为什么“mount”拒绝创建目录?

为什么“mount”拒绝创建目录?

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

缺少该功能有什么原因吗,或者只是尚未实现?

答案1

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

如果您要请求这样的功能,那么您还需要考虑其行为...例如,它的工作方式是类似mkdir还是类似mkdir -p?此时,mkdir在偶尔想要创建目录的情况下使用会更容易。

答案2

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

mount /dev/sdb1 -t ext4 -o rw,x-mount.mkdir /newdir/mntpoint

如果不存在则指示mount创建。行为与 相同,因此如果不存在,它将为您创建。如果或存在,它将/newdir/mntpointmkdir -p/newdir/newdir/newdir/mntpoint不是失败——它会根据需要创建目录。

答案3

mountutil-linux现在起,支持-m/--mkdir作为X-mount.mkdir其他几个答案中提到的快捷方式。选项是2021年实施

例如在 Kubuntu 22.10 中util-linux 2.38从 2022-02-17 开始您可以使用以下选项:

mount -m /dev/something /mountpoint/to/be/created

(注意:umount稍后不会删除任何目录。挂载点将保留umount。)

答案4

作为Larssend 的回答,请注意小写选项已弃用。应该是X-mount.mkdir

文档说:

该选项也支持 x-mount.mkdir,但自 v2.30 起该表示法已弃用。

改进的命令:

mount /dev/sdb1 -t ext4 -o rw,X-mount.mkdir /newdir/mntpoint

相关内容