![为什么“mount”拒绝创建目录?](https://linux22.com/image/1534260/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9Cmount%E2%80%9D%E6%8B%92%E7%BB%9D%E5%88%9B%E5%BB%BA%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我知道默认情况下,创建目录可能不是一个好主意。但是,我相信没有理由不允许山使用选项创建目录。
缺少该功能有什么原因吗,或者只是尚未实现?
答案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/mntpoint
mkdir -p
/newdir
/newdir
/newdir/mntpoint
不是失败——它会根据需要创建目录。
答案3
mount
从util-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