Когда вы бежите
ln -s nonexistenttarget link
ln
не проверяет, существует ли nonexistenttarget
, он создает ссылку, если только link
уже не существует. -f
обходит последнюю часть, удаляя link
при необходимости.
Воздействие несуществующей -цели ощущается только тогда, когда программа пытается разыменовать ссылку, например. открыв его:
$ ls -l link
lrwxrwxrwx 1 steve steve 17 May 22 08:44 link -> nonexistenttarget
$ cat link
cat: link: No such file or directory