Порядок аргумента
ln -s link-target new-link
Так что вы хотели бы
ln -s /home/data/A /home/B
^--existing ^----new link
file/link
Обновление: я забыл флаг -s
в моем примере, поэтому он пытался создать жесткие ссылки, которые БУДУТ пересекать символические ссылки, чтобы попытаться указать на то, на что указывает ссылка. С помощью символических ссылок вы можете вкладывать их настолько глубоко, насколько захотите:
marc@panic:~/b$ touch z
marc@panic:~/b$ ls -l
total 0
-rw-r--r-- 1 marc marc 0 2011-10-31 13:36 z
marc@panic:~/b$ ln -s z y
marc@panic:~/b$ ln -s y x
marc@panic:~/b$ ln -s x w
marc@panic:~/b$ ls -l
total 0
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 w -> x
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 x -> y
lrwxrwxrwx 1 marc marc 1 2011-10-31 13:36 y -> z
-rw-r--r-- 1 marc marc 0 2011-10-31 13:36 z