Попытка закончить чем-то подобным этому:

$ 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 и сделать так, чтобы он сейчас находился в обоих каталогах назначения. Цель состоит в том, чтобы в конечном итоге удалить ссылку /home /bar link после подтверждения отсутствия проблем с перемещением файлов в /etc /bar. Я ограничен в том, что я не могу изменить или добавить в процесс, который перемещает файлы.

4 ответа4

6

Нет, ссылка может разрешать один и только один файл / папку. В частности, папка не может содержать более одного элемента с одинаковым именем, и для работы напрямую потребуется два файла с именем "foo", которые вы должны описать.

2

Ссылка может указывать только на один файл, поэтому вы не можете использовать ссылки foo /home/bar и /etc/bar . В зависимости от характера того, что вы пытаетесь сделать, вы можете достичь своей цели, используя foo -> /etc/bar а затем также установив /home/bar -> /etc/bar .

1

Вы можете использовать именованный канал и непрерывно работающий процесс, который использует 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
0

Ваша лучшая ставка, вероятно, будет какой-то особый акцент на foo . Я сомневаюсь, что вы можете сделать это только с помощью механизмов, предоставляемых ядром (объединение не совсем покрывает это ...), но должно быть относительно легко приготовить что-то с помощью fuse.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .