一个文件夹在 Ubuntu 18.04 上有两个不同的位置

Ama*_*dey 10 directory shared-folders

我想在我的 Ubuntu 的两个不同位置拥有相同的文件夹。如果我在一个位置更新某些内容,它也应该在另一个位置更新。

我怎样才能让它发生?

mna*_*gel 44

正如评论中指出的那样,但不是正确的答案:

在许多情况下,符号链接是最简单的解决方案。

您可以在命令行上轻松创建它们(使用ln带-s参数的命令)。您也可以使用 GUI 轻松创建它们:大多数文件浏览器(nautilus,...)允许您在按住修改键 (CTRL+SHIFT) 的同时使用拖放(如移动文件)来创建符号链接。

命令行使用示例:

$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls 
first_dir  second_dir

$ touch ./first_dir/test_1
$ touch ./second_dir/test_2

$ ls ./first_dir 
test_1  test_2

$ ls ./second_dir
test_1  test_2
Run Code Online (Sandbox Code Playgroud)


Per*_*uck 16

使用绑定安装。

假设您有一个现有目录/home/pandey/original并希望将其镜像到其中,/home/pandey/mirror以便您在其中一个目录中执行的所有操作也会自动在另一个目录中完成。

这不需要在两个目录之间进行任何同步或复制。一种绑定安装只是另一种观点原来的目录,会发生什么在一个还发生在其他。

  1. 创建(作为您的用户)新目录 /home/pandey/mirror:

    mkdir /home/pandey/mirror
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将原始目录绑定挂载到新创建的路径。这需要root访问权限:

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
    Run Code Online (Sandbox Code Playgroud)
  3. 享受。

要撤消此操作,只需

sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror
Run Code Online (Sandbox Code Playgroud)

另请参阅有关 bind-mounts 的 stackexchange上的此问题及其出色的自我回答。

  • 是的,我想知道为什么人们会提出这些迂回的解决方案,而这听起来像是一个简单的符号链接的经典用例。有什么好处?据我所知,引用问题中列出的所有优点似乎都不适用于此处。 (19认同)
  • 会`cd /home/pandey; ln -s original mirror` 有同样的效果,不需要sudo权限吗? (13认同)
  • @doneal24 我同意:从实用的角度来看,符号链接具有相同的效果,并且不需要基本的系统更改和管理员权限。 (5认同)
  • +1,当然这种方式比我提出的方式快; (3认同)
  • 关于绑定安装的链接问题有一个很好的可能用例列表。只需要目录的另一个命名路径不是其中之一。 (2认同)
  • 绑定坐骑确实具有性能优势,但*非常*小。一般来说,我强烈建议使用符号链接,除非你明确知道你想要绑定安装。https://unix.stackexchange.com/questions/49623/are-there-any-drawbacks-from-using-mount-bind-as-a-substitute-for-symbolic-lin (2认同)