Я думаю, что http://linux.die.net/man/1/ln
проясняет ситуацию. У вас есть следующие формы:
и
-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
говорит, что если вы передадите два аргумента, вы абсолютно имеете в виду форму 1 (второй аргумент - это имя_ссылки), а не 3 - другими словами, вы хотите убедиться, что вы случайно не передали каталог в качестве второго аргумента.
Пример:
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
Ссылка -t
, является противоположностью -T
. Он ожидает, что все, что идет после него, будет каталогом для размещения ссылок, что позволяет вам делать такие вещи, как:
list_link_targets | xargs -d '\n' ln -s -t directory
, что было бы намного сложнее сделать с 3-ей формой.