Я хочу создать теневой каталог каталога D. Теневой каталог D1 должен иметь ту же структуру, что и D, но не должен иметь общих узлов с D. Каждый файл в D должен быть представлен символической ссылкой на этот файл в D1. Идея состоит в том, что операции над D1 никогда не должны изменять D, чтобы я мог свободно удалять что-либо в D1, не затрагивая D. Как этого добиться? Я мог бы, конечно, сделать простую древовидную копию D, но это привело бы к дублированию копий файлов.
[Следующее было перенесено из комментария.] Вот чего я хочу добиться. У меня есть несколько музыкальных файлов в разных местах. Я могу создать один каталог D, содержащий символические ссылки на все из них. Мой план состоит в том, чтобы создать теневой каталог D1, который изначально содержит копии символических ссылок D. Когда я играю музыку, я удаляю ее узлы из D1, так что D1 содержит только указатели на музыку, которую я не играл (на разных уровнях в D). Тем временем моя оригинальная музыкальная библиотека не изменилась. Я понимаю, что могут быть и другие способы добиться того же самого, но этот метод концептуально прост и требует только стандартного программирования оболочки.