Pode haver maneiras automáticas de fazer isso, mas escrever alguns scripts de shell é provavelmente a maneira mais fácil de resolver isso.
Primeiro, em vez de apenas criar um novo subdiretório na pasta2, faça isso com um script que também crie o link simbólico ao mesmo tempo. O seguinte script não testado fará isso quando você preencher os caminhos reais para seus diretórios. O script principal é realmente simples, mas adicionei alguns erros no processamento para que ele tivesse uma chance no mundo real.
#!/bin/bash
## create subdirectory and symbolic link
## Usage: script-name <name of new subdirectory to create and link>
PRIVATE="path to private directory" ## Put real path here
SHARED="path to shared directory" ## Put real path here
cd "${PRIVATE}"
if [ -z "" ]
then
echo "Aborting - no new directory name specified"
exit 1
fi
if [ -e "" ]
then
echo "Aborting - file or directory with that name already exists"
exit 1
fi
mkdir ""
RC=$?
if ((RC))
then
echo "Aborting - Failed to create new private subdirectory named [] in [${PRIVATE}] with error code [${RC}]"
exit ${RC}
fi
cd "${SHARED}"
ln -s "${PRIVATE}/" .
RC=$?
if ((RC))
then
echo "Aborting - Failed to create new symlink named [] in [${SHARED}] with error code [${RC}]"
exit ${RC}
fi
exit 0
Outras preocupações:
Se você precisar acessar isso a partir de um gui em vez da linha de comando, basta adicionar um pequeno código que chame yad para criar uma caixa de diálogo para solicitar o nome do diretório a ser criado e criar uma entrada para seu script. seu sistema de menus e, opcionalmente, em sua área de trabalho ou painel. Fazer isso é simples, mas está além do escopo desta questão.
Da mesma forma, se alguma outra coisa criar os novos subdiretórios na pasta1, você poderá escrever um script que procure por novos subdiretórios na pasta1 e, em seguida, faça um link para a pasta2.
Você pode executá-lo manualmente ou executá-lo em um loop em que ele faz seu trabalho, dorme por algum tempo e, em seguida, é executado novamente.
Este script "daemon" pode ser iniciado manualmente ou executado a partir do seu script .login para que ele seja iniciado sempre que você fizer login. Ele também pode ser iniciado a partir do cron se você se certificar de que quaisquer subdiretórios e links criados tenham o proprietário, o grupo e as permissões desejadas. (Você provavelmente não quer que eles sejam de propriedade do root, no qual o cron do usuário é executado).
Tudo depende das suas necessidades exatas.
Se a pasta1 ou a pasta2 precisarem de privilégios elevados para a escrita, o script precisará ser executado com essas permissões ou ter um sudo ou dois para lidar com isso e, possivelmente, uma entrada em sudoers, para não precisar Peça sua senha toda vez. Em seguida, o próprio script teria que ter um proprietário seguro e permissões restritas e ser mantido em um diretório que também requer privilégios elevados para gravação - por motivos de segurança.
Você também pode precisar considerar o caso quando os subdiretórios são excluídos da pasta1. Então, você provavelmente desejará excluir os links simbólicos quebrados da pasta2. A abordagem / código seria muito semelhante ao acima.