如何挂载路径中有空格的分区

max*_*max 11 linux mount

我创建了一个分区,我想将该分区挂载到这个目录 /home/max/VirtualBox VMs

我在 fstab 中写了这一行:

/dev/sda4 /home/max/VirtualBox\ VMs ext4 默认值 0 0

但它给出了这个错误

[mntent]:/etc/fstab 中的第 16 行是错误的

我知道我收到此错误是因为“virtualBox VM”之间存在空间

是否可以挂载到该目录?

[max@localhost VirtualBox VMs]$ pwd
/home/max/VirtualBox 虚拟机

Den*_*nis 21

fstab有自己的语法。要将空格用作目录名称的一部分,您必须将其代码点指定为以零填充的 3 位八进制数,前面是反斜杠(转义字符)。

ASCII 中,空格字符的代码点是八进制的 32 或 40,因此您可以使用:

/dev/sda4               /home/max/VirtualBox\040VMs  ext4    defaults        0 0
Run Code Online (Sandbox Code Playgroud)

请注意,虽然其他字符也支持代码点,但这种支持相当不稳定。在我的机器上,你可以写\127而不是W,但不能 \070代替8......

  • 感谢您的回答!双引号或单引号不起作用,\040 有效!这应该是公认的答案。 (2认同)
  • 感谢您的回答 - 我一直在寻找在我的 Raspberry Pi(Raspian OS)上使用 fstab 的解决方案,并且它运行得非常完美。 (2认同)

Jus*_*tin 2

使用引号。

/dev/sda4 "/home/max/VirtualBox VMs" ext4 默认值 0 0

  • 您可以尝试使用 \040 代替空格;根据互联网的说法,效果非常好;我刚刚在运行 3.7 内核的 Arch 上尝试过它,但它不想为我工作。 (6认同)
  • 对我不起作用,但“\040”答案对我有用。有趣的是,我恰好需要这个答案,原因与原始海报完全相同。 (3认同)
  • 它不起作用我尝试了所有这些“/home/max/VirtualBox VMs”,“/home/max/VirtualBox\ VMs”/home/max/“VirtualBox VMs”没有任何作用。 (2认同)
  • 这不应该是公认的答案,因为它不起作用。这个有更多票数的答案下面的答案确实有效,应该是被接受的答案。 (2认同)