Não sei se entendi sua pergunta, então vou reiterar o que entendo com minhas próprias palavras. Você tem um programa que procura seus arquivos de configuração no mesmo diretório em que o programa está localizado. Por exemplo, se você executar /home/human/ExecuteIt/FolderWithConfiaguration/Configuration1/executable , ele procurará arquivos de configuração em /home/human/ExecuteIt/FolderWithConfiaguration/Configuration1 . Você deseja poder executar o programa com configurações diferentes, por exemplo /home/human/ExecuteIt/FolderWithConfiaguration/Configuration2 . E você não quer fazer várias cópias do programa.
Você pode criar links simbólicos para o executável em vários diretórios e criar links simbólicos para todos os arquivos comuns também . Por exemplo, suponha que o programa exija três arquivos: o executável executable , um arquivo de dados data e um arquivo de configuração config . Você tem duas configurações diferentes, que você coloca em
/home/human/ExecuteIt/FolderWithConfiaguration/Configuration1/config e /home/human/ExecuteIt/FolderWithConfiaguration/Configuration2/config . Você tem uma cópia do executável e do arquivo de dados, ambos em /home/human/ExecuteIt/FolderWithConfiaguration/Configuration1/ . E você cria um link simbólico para /home/human/ExecuteIt/FolderWithConfiaguration/Configuration1/executable no diretório /home/human/ExecuteIt/FolderWithConfiaguration/Configuration2/ , além de um link simbólico para /home/human/ExecuteIt/FolderWithConfiaguration/Configuration1/data .
cd /home/human/ExecuteIt/FolderWithConfiaguration/Configuration2
ln -s ../Configuration1/executable ../Configuration1/data
Os links simbólicos dizem ao sistema para procurar o arquivo real em um lugar diferente. Eles não contêm dados, por isso, se você atualizar o executável ou os dados em Configuration1 , isso se aplica a todas as configurações; e há apenas uma cópia dos arquivos, portanto, as configurações adicionais exigem apenas o espaço em disco para o arquivo de configuração.
A maioria dos programas que se comportam dessa maneira considera a localização do executável ao procurar por arquivos de dados e de configuração. Se o seu seguir o link simbólico, esse método não funcionará. Em vez disso, você pode criar um link físico . Links físicos são múltiplos caminhos para os mesmos arquivos; Todos os hard links para um arquivo são equivalentes.
cd /home/human/ExecuteIt/FolderWithConfiaguration/Configuration2
ln ../Configuration1/executable ../Configuration1/data
Isso dificulta a atualização dos arquivos, já que você precisa atualizar o arquivo designado por todos os caminhos. Além disso, todos os hard links para o mesmo arquivo precisam estar no mesmo sistema de arquivos.