¿Qué hace esto?
ln -nsf
Sé que ln -s
crea un enlace simbólico, no un enlace duro, lo que significa que puede eliminarlo y no eliminará la idea de que está vinculando. ¿Pero qué significan las otras cosas? (-nf)
Actualización: está bien ... así que recordé que puedes encontrar estas cosas desde la línea de comandos. Esto es lo que descubrí al escribir ln --help
:
-f, --force remove existing destination files
-n, --no-dereference treat destination that is a symlink to a
directory as if it were a normal file
Pero esto todavía no me queda muy claro cuáles son las implicaciones de esto. ¿Por qué querría crear un enlace soft / sym como este?
linux
command-line
Andrés
fuente
fuente
-s
, puede eliminar el enlace sin eliminar el archivo original. Los enlaces duros aumentan el recuento de enlaces del archivo, por lo que no se eliminará cuando elimine solo uno de los enlaces.Respuestas:
Desde la página de manual de BSD:
fuente
la
-n
opción (junto con-f
) obligaln
a actualizar un enlace simbólico a un directorio. ¿Qué significa eso?supongamos que tienes 2 directorios
y un enlace simbólico existente
ahora desea actualizar baz para apuntar a foo en su lugar. si solo lo haces
obtendrías
si agregas
-n
Consigues lo que quieres.
eso es lo que significa 'sin desreferencia': no resuelva un enlace existente y coloque el nuevo enlace dentro de ese directorio, sino simplemente actualícelo.
fuente
Aquí están todas las opciones para ln. Encontrarás -n y -f aquí.
fuente
Puede escribir "man ln" para encontrar tales cosas:
fuente
-f, --force eliminar archivos de destino existentes
-n, --no-dereference tratar el destino que es un enlace simbólico a un directorio como si fuera un archivo normal
fuente
-f dice que si el objetivo de su comando es un archivo existente, debe eliminarse y reemplazarse por el nuevo enlace. (Tenga en cuenta que en los sistemas influenciados por Unix, "archivo" puede incluir directorios, enlaces, tuberías, etc.)
-n modifica -f, diciendo que si el objetivo que se especifica es un enlace simbólico existente, debería no ser eliminado.
fuente
-n
está mal.-f
por sí solo no reemplazará un enlace simbólico a un directorio. Al reemplazar un enlace simbólico a un directorio,-n
es necesario tratar el enlace simbólico existente como un archivo normal en lugar de un directorio.