Linux:我可以通过软链接链接多个目的地吗?

Linux:我可以通过软链接链接多个目的地吗?

尝试得到与此类似的结果:

$ ls -l  
lrwxrwxrwx  1 user group   4 Jun 28  2010 foo -> /home/bar  
lrwxrwxrwx  1 user group   4 Jun 29  2010 foo -> /etc/bar  

目前的目的是能够将文件移动到 foo 并使其进入两个目标目录。目标是在确认将文件移动到 /etc/bar 没有问题后最终取消 /home/bar 链接。我受到限制,因为我无法更改或添加移动文件的过程。

答案1

不,一个链接只能解析一个文件/文件夹。更具体地说,一个文件夹不能包含多个同名项目,并且直接工作需要有两个名为“foo”的文件才能像您描述的那样进行。

答案2

一个链接只能指向一个文件,因此您不能foo同时引用/home/bar/etc/bar。根据您要执行的操作的性质,您可以通过先设置foo -> /etc/bar和然后设置来实现您的目标/home/bar -> /etc/bar

答案3

您可以使用命名管道和连续运行的进程,tee将输出传输到多个文件。

$ mkfifo foo
$ while :; do tee -a /home/bar /etc/bar < foo > /dev/null 2>&1; done &
$ echo hello > foo
$ cat /home/bar
hello
$ cat /etc/bar
hello

答案4

最好的办法可能是在 上添加某种特殊的点foo。我怀疑仅使用内核提供的机制是否能做到这一点( union 不能完全覆盖它...),但使用 fuse 应该相对容易。

相关内容