GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi créer un lien comme celui-ci :ln -nsf ?

À partir de la page de manuel 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.

le -n option (avec -f ) force ln pour mettre à jour un lien symbolique vers un répertoire. qu'est-ce que cela signifie ?

supposons que vous ayez 2 répertoires

  • foo
  • barre

et un lien symbolique existant

  • baz -> bar

maintenant vous voulez mettre à jour baz pointer vers foo Au lieu. si vous le faites simplement

ln -sf foo baz

vous obtiendriez

  • baz/foo -> foo
  • baz -> bar (inchangé), et donc
  • bar/foo -> foo

si vous ajoutez -n

ln -sfn foo baz

vous obtenez ce que vous voulez.

  • baz -> foo

c'est ce que signifie "sans déréférencement" :ne résolvez pas un lien existant et placez le nouveau lien dans ce répertoire, mais mettez-le simplement à jour.


Voici toutes les options à ln. Vous trouverez -n et -f ici.

 -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. Comment créer un lien vers un répertoire

  2. Pourquoi ce pipeline shell sort-il ?

  3. Pourquoi créer plusieurs partitions ?

  4. Pourquoi mon lien symbolique ne fonctionne-t-il pas ?

  5. Pourquoi Vim ajoute-t-il une nouvelle ligne ? Est-ce une convention ?

Commande Ln :comment créer des liens symboliques sous Linux

Commande Ln sous Linux (Créer des liens symboliques)

Comment créer un lien symbolique sous Linux à l'aide de la commande Ln

Créer un lien direct "Ajouter au panier" pour les produits dans WooCommerce

Pourquoi Ping -f agit-il comme ça ?

Qu'est-ce que les liens symboliques sous Linux ? Comment créer des liens symboliques ?