ln é a seguinte:
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
Sem -T , se LINK_NAME já existir e for um diretório (ou um link simbólico verificado para, eventualmente, resolver um diretório), o primeiro e terceiro formulários são ambíguos e ln escolhe o terceiro formulário: cria o link dentro do diretório. Assim
ln -s ~/www/project /var/www/html/project
criará um link chamado project dentro de /var/www/html/project se este já existir.
-T remove a ambigüidade e força ln a considerar apenas o primeiro formulário: se o link não existir, o link será criado como nomeado; se já houver um arquivo ou diretório com o dado LINK_NAME , ln falhará com um erro (a menos que -f seja especificado também).
Então
ln -sT ~/www/project /var/www/html/project
garante que você termine com um link /var/www/html/project apontando para ~/www/project ou com uma mensagem de erro (e um código de saída diferente de zero).