Von der BSD-Manpage:
-f If the target file already exists, then unlink it so that the link
may occur. (The -f option overrides any previous -i options.)
-n If the target_file or target_dir is a symbolic link, do not follow
it. This is most useful with the -f option, to replace a symlink
which may point to a directory.
der -n
Option (zusammen mit -f
) erzwingt ln
um einen symbolischen Link zu einem Verzeichnis zu aktualisieren. was bedeutet das?
Angenommen, Sie haben 2 Verzeichnisse
- Foo
- Bar
und einen bestehenden symbolischen Link
- baz -> bar
Jetzt möchten Sie baz aktualisieren auf foo zeigen stattdessen. wenn du es einfach tust
ln -sf foo baz
würdest du bekommen
- baz/foo -> foo
- baz -> bar (unverändert), und damit
- bar/foo -> foo
wenn Sie -n
hinzufügen
ln -sfn foo baz
Sie bekommen, was Sie wollen.
- baz -> foo
das bedeutet 'keine Dereferenzierung':einen bestehenden Link nicht auflösen und den neuen Link in diesem Verzeichnis platzieren, sondern ihn einfach aktualisieren.
Hier sind alle Optionen für ln. Hier finden Sie -n und -f.
-F If the target file already exists and is a directory, then remove it so that the link may occur. The -F option should be used with either -f or -i options. If none is specified, -f is implied. The -F option is a no-op unless -s option is specified. -h If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f option, to replace a symlink which may point to a directory. -f If the target file already exists, then unlink it so that the link may occur. (The -f option overrides any previous -i options.) -i Cause ln to write a prompt to standard error if the target file exists. If the response from the standard input begins with the character `y' or `Y', then unlink the target file so that the link may occur. Otherwise, do not attempt the link. (The -i option overrides any previous -f options.) -n Same as -h, for compatibility with other ln implementations. -s Create a symbolic link. -v Cause ln to be verbose, showing files as they are processed.