与现有目录的符号链接

Eth*_*Lim 5 symlink

如果我已经有一个包含现有内容的目录 (A) 和另一个目录 (B),我该如何符号链接以使这两个目录的内容合并。

   例如。一种
           -> 文件夹A1/
           -> a.bin
           -> b.bin(来自 B 文件夹)
           -> c.bin(来自 B 文件夹)
         乙 
           -> b.bin
           -> c.bin

cha*_*aos 6

您可以编写一个通过目录 B 运行的脚本,该脚本为目录 A 中的每个文件创建一个链接。但是,如果您想合并这两个文件夹,我建议使用诸如aufs 之类的覆盖文件系统。我自己用它来完成这样的任务。

使用以下挂载命令(您可能需要安装工具来管理 aufs):

mount -t aufs -o dirs=/path/to/dirA/=rw:/path/to/dirB/=ro none /path/to/mountpoint
Run Code Online (Sandbox Code Playgroud)

挂载命令说明

  • -t aufs: 将文件系统类型设置为 aufs
  • dirs=/path/to/dirA/=rw:/path/to/dirB/=ro: 这些是您要合并的目录,由:. 如果需要,它也可以是第三个目录。请注意,dirA它用作 readwrite ( rw) 文件夹和dirBreadonly ( ro)。这意味着当您写入该挂载点时,文件系统写入的是dirA,而不是dirB. 有很多选项,底层文件系统在读或写的情况下应该如何表现。我建议查看手册页。
  • none: 这是设备。因为它是一个伪文件系统,所以没有设备。
  • /path/to/mountpoint: 要挂载文件系统的路径。