FTP对外提供的路径就一个,但是这个磁盘空间的目录满了,需要移动部分目录到其他磁盘,但是这个是对外路径,还是需要访问相应资源的。mkdir lts_v7.0chown <替换为具体用户>:<替换为具体用户或组> lts_v7.0mount --bind /mnt/dfs/6/public2/lts_v7.0 lts_v7.0
这个命令的作用是在 Linux 系统中创建一个绑定挂载 (bind mount)。
简单来说,它的功能是给一个已经存在的长路径目录,在当前目录下创建一个“高级别名”或“入口”。
我们可以把这个命令拆解来看:
mount:Linux 中用于挂载文件系统或目录的基础命令。
--bind:核心参数。它告诉系统不要挂载一个新的磁盘或分区,而是将一个现有的目录映射到另一个位置。
/mnt/dfs/6/public2/lts_v7.0:源目录(绝对路径)。这是数据真实存放的地方。
lts_v7.0:目标目录(相对路径)。指的是你执行该命令时所在的当前目录下的 lts_v7.0 文件夹。这是你新创建的访问入口。
⚙️ 执行后的实际效果
当你运行这条命令后:
你访问当前目录下的 lts_v7.0 文件夹,就等同于访问 /mnt/dfs/6/public2/lts_v7.0。
数据互通:这不是复制粘贴。这两个路径指向的是硬盘上的同一份物理数据。你在当前目录的 lts_v7.0 中创建、修改或删除任何文件,真实的源目录也会同步发生改变,反之亦然。
💡 为什么需要用这个命令?(常见使用场景)
路径太深,方便访问:源路径 /mnt/dfs/... 比较长,每次输入很麻烦。通过这个命令,可以把它直接映射到当前工作目录,当作普通文件夹来用。
权限与隔离 (如 Chroot / Docker 容器):在配置 FTP 服务、Web 服务或者容器时,为了安全,常常限制程序只能访问特定的根目录。使用 --bind 可以把外部的真实数据目录“偷渡”到受限环境里。
规避软件的路径限制:有些老旧软件只认写死的特定路径(比如 /opt/app/data),但由于磁盘空间不足你想把数据存在另一块硬盘上(比如 /mnt/disk2/data),就可以用 --bind 骗过软件。
⚠️ 重要注意事项
前提条件:当前目录下必须提前存在一个名为 lts_v7.0 的空文件夹。如果没有,你需要先运行 mkdir lts_v7.0 创建它,否则会报错。
隐藏原内容:如果当前目录下的 lts_v7.0 文件夹原本里面有文件,执行挂载后,原来的文件会被暂时“隐藏”起来(并没有被删除),只能看到源目录的内容。取消挂载后,原文件会恢复显示。
如何取消挂载:如果你不需要这个映射了,不要直接用 rm -rf 删除文件夹(这会把源目录里的真实数据删掉!),应该使用取消挂载命令:
临时生效:这种命令行挂载是临时的,服务器重启后映射就会消失。如果需要永久生效,必须将其写入系统的 /etc/fstab 文件中。