GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué crear un enlace como este:ln -nsf?

Desde la página de manual de 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.

el -n opción (junto con -f ) fuerza ln para actualizar un enlace simbólico a un directorio. ¿Qué significa eso?

supongamos que tiene 2 directorios

  • fu
  • barra

y un enlace simbólico existente

  • baz -> barra

ahora quieres actualizar baz señalar a foo en cambio. si lo haces

ln -sf foo baz

obtendrías

  • baz/foo -> foo
  • baz -> bar (sin cambios), y por lo tanto
  • bar/foo -> foo

si agrega -n

ln -sfn foo baz

Consigues lo que quieres.

  • baz -> foo

eso es lo que significa 'no-dereference':no ​​resuelva un enlace existente y coloque el nuevo enlace dentro de ese directorio, sino simplemente actualícelo.


Aquí están todas las opciones para ln. Encontrarás -n y -f aquí.

 -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. ¿Por qué sale esta canalización de shell?

  2. ¿Por qué no funciona mi enlace simbólico?

  3. ¿Por qué Vim está agregando una nueva línea? ¿Es esto una convención?

  4. ¿Por qué no puedo matar este proceso en Linux?

  5. ¿Por qué no puede simplemente agregar CD Audio como un CD de datos ordinario?

Comando Ln:Cómo crear enlaces simbólicos en Linux

Comando Ln en Linux (Crear enlaces simbólicos)

Cómo crear un enlace simbólico en Linux usando el comando Ln

Cree un enlace directo 'Agregar al carrito' para productos en WooCommerce

¿Por qué Ping -f actúa así?

¿Qué son los enlaces simbólicos en Linux? ¿Cómo crear enlaces simbólicos?