Q: You would expect "user_conf" file to be shown, or not?
A: Negativo!
Links simbólicos são como cd - quando você entra em um diretório ligado por links simbólicos, você está efetivamente conectando-se ao diretório de destino. Portanto, todos os caminhos relativos (isto é, links simbólicos) nesse (e qualquer outro) diretório serão relativos à localização física do diretório onde o link simbólico está localizado. Em outras palavras ...
cd ~/TEST/user/app
é efetivamente
cd ~/TEST/global/app
por causa da última linha de
cd ~/TEST
mkdir user
cd user
ln -s ~/TEST/global/app app
E aqui está a prova (o parâmetro -P mostra o diretório de trabalho do physicalcurrent - ou seja, resolve links simbólicos, enquanto o pwd sem nenhum parâmetro normalmente mostra o diretório de trabalho atual e lógico):
pwd -P
/home/rouben/TEST/global/app/conf
pwd
/home/rouben/TEST/user/app/conf
Infelizmente não há como comer o bolo e tê-lo também! Eu sugiro que você tenha cuidado com links simbólicos, especialmente se você estiver programando ... esse tipo de configuração pode ter conseqüências não intencionais!
Experimente este exemplo mais simples:
cd ~
ln -s / root_of_everything
cd root_of_everything
pwd
/home/rouben/root_of_everything
pwd -P
/
O primeiro pwd gera o caminho lógico "falso". O segundo pwd, com o -P, produz o caminho físico real. Quaisquer links simbólicos que eu queira criar em "root_of_everything" terão que ser relativos ao caminho físico, e não ao caminho lógico.