如何从另一个分区挂载文件夹?

use*_*541 96 command-line partitioning bash mount directory

是否有命令将文件夹从一个分区挂载到我的主分区?

我想做的例子,这显然不起作用:

mount /media/tc1/folder /home/dvad/home

如果不是通过使用命令,还有其他方法可以做到这一点吗?

Oli*_*Oli 159

是的,但在我走那么远之前,你不能只是符号链接吗?

ln -s /media/tc1/folder ~/home
Run Code Online (Sandbox Code Playgroud)

这个链接只是一个被解释的文件。它是自动永久的(直到您删除该文件)。

如果不能mount按照您的描述使用,但语法略有不同:

mount --bind /media/tc1/folder /home/dvad/home
Run Code Online (Sandbox Code Playgroud)

这根本不是永久性的,并且会因重启而失效。如果你想让它持续存在,你需要/etc/fstab像这样的东西:

/media/tc1/folder    /home/dvad/home    none    bind
Run Code Online (Sandbox Code Playgroud)

如果您正在尝试挂载但它不起作用,则应确保已挂载块级设备。如果不先挂载分区,就不能直接挂载分区的子目录。

  • `mount --bind` 在 chroot 环境中很有用 - 因为符号链接在那里不起作用。 (5认同)
  • 感谢 fstab 技巧。我使用 mount --bind 将文件夹“链接”到我向朋友公开的用户主文件夹(符号链接不能很好地与 chroot 配合),现在我不必重新执行它或运行脚本每次重新启动后都会执行此操作。不知道为什么我之前没有想到使用 fstab,因为我将它用于所有媒体驱动器。再次感谢! (3认同)
  • mount --bind 源目标 (2认同)

lef*_*out 12

替代方案mount

bindfs -n /media/tc1/folder /home/dvad/home
Run Code Online (Sandbox Code Playgroud)

需要sudo apt-install bindfs.

与 一样mount,这将是一个(非永久性)实际挂载点,即例如版本控制系统不仅会将其作为符号引用进行跟踪,还会看到“在那里”的文件。但是像ln -s,你并不需要超级用户的权限bindfs,你会的mount

卸载fusermount -u /home/dvad/home(或通过重新启动)。