GNU/Linux >> Znalost Linux >  >> Linux

Proč vytvořit odkaz jako je tento:ln -nsf?

Z manuálové stránky BSD:

 -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.

-n možnost (spolu s -f ) vynutí ln pro aktualizaci symbolického odkazu na adresář. co to znamená?

předpokládejme, že máte 2 adresáře

  • foo
  • bar

a existující symbolický odkaz

  • baz -> bar

nyní chcete aktualizovat baz ukázat na foo namísto. pokud to uděláte

ln -sf foo baz

dostali byste

  • baz/foo -> foo
  • baz -> lišta (beze změny), a tedy
  • bar/foo -> foo

pokud přidáte -n

ln -sfn foo baz

dostanete, co chcete.

  • baz -> foo

to je to, co znamená 'no-dereference':neřešte existující odkaz a neumisťujte nový odkaz do tohoto adresáře, ale spíše jej aktualizujte.


Zde jsou všechny možnosti ln. Najdete zde -n a -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. Vynutit vytvoření pevných odkazů na adresář?

  2. Jak vytvořit odkaz na adresář

  3. Proč nemohu tento proces v Linuxu zabít?

  1. Jak vytvořit pevné a symbolické odkazy v Linuxu

  2. Proč nemůžete jednoduše dd CD Audio jako obyčejné datové CD?

  3. Proč nemohu vytvořit pevný odkaz ze souboru zařízení v jiném adresáři než /dev?

  1. Proč tento plášťový ropovod vystupuje?

  2. Proč vytvářet mnoho oddílů?

  3. Proč můj symbolický odkaz nefunguje?