The specification for "ln" is as specified in the SUS but with the following differences as listed below.
make a backup of each existing destination file
treat destination that is a symlink to a directory as if it were a normal file
prompt whether to remove destinations
make symbolic links instead of hard links
override the usual backup suffix
move all SOURCE arguments into directory DIR
print name of each file before linking
output version information and exit
The backup suffix is ~, unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:
never make backups (even if --backup is given)
make numbered backups
numbered if numbered backups exist, simple otherwise
always make simple backups