GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum einen Link wie diesen erstellen:ln -nsf?

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.

Linux
  1. Hardlink(s) für Verzeichnisse erzwingen?

  2. Warum funktioniert mein symbolischer Link nicht?

  3. Warum fügt Vim einen Zeilenumbruch hinzu? Ist das eine Konvention?

  4. Warum kann ich diesen Prozess unter Linux nicht beenden?

  5. Warum können Sie CD-Audio nicht einfach wie eine gewöhnliche Daten-CD hinzufügen?

Ln-Befehl:So erstellen Sie symbolische Links in Linux

Ln-Befehl unter Linux (Symbolische Links erstellen)

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

Erstellen Sie einen direkten „In den Warenkorb“-Link für Produkte in WooCommerce

Warum verhält sich Ping -f so?

Was sind symbolische Links in Linux? Wie erstellt man symbolische Links?