eu acho
link
torna mais claro. Você tem estes formulários:
- Em [OPTION] ... [-T] TARGET LINK_NAME (1º formulário)
- ln [OPÇÃO] ... TARGET (2ª forma)
- ln [OPÇÃO] ... DIRETÓRIO ... (3º formulário)
- ln [OPTION] ... -t DIRETÓRIO ALVO ... (4º formulário)
e
-t, --target-directory=DIRECTORY
specify the DIRECTORY in which to create the links
-T, --no-target-directory
treat LINK_NAME as a normal file
-T
diz que se você passar dois argumentos, você absolutamente quer dizer o formulário 1 (segundo arg é o link_name), não 3 - em outras palavras, você quer ter certeza de que não passou acidentalmente um diretório como o segundo argumento.
Exemplo:
mkdir output
ln -s /etc/passwd output #OK passwd link goes into output/passwd
vs
mkdir output
ln -sT /etc/passwd output #FAIL; output is already taken and is a directory
Link -t
, é o oposto de -T
. Ele espera que o que vier depois dele seja um diretório para colocar links, o que permite que você faça coisas como:
list_link_targets | xargs -d '\n' ln -s -t directory
que seria muito mais desafiador para fazer com o 3º formulário.