Este es el propósito de ln
la -f
opción: elimina los archivos de destino existentes, si los hay, antes de crear el enlace.
ln -sf /path/to/data/folder/month/date/hour/minute/file /path/to/recent/file
creará el enlace simbólico al que /path/to/recent/file
apunta /path/to/data/folder/month/date/hour/minute/file
, reemplazando cualquier archivo existente o enlace simbólico a un archivo si es necesario (y funcionará bien si ya no hay nada allí).
Si ya existe un directorio, o enlace simbólico a un directorio con el nombre de destino, el enlace simbólico se creará dentro de él (por lo que terminaría /path/to/recent/file/file
en el ejemplo anterior). La -n
opción, disponible en algunas versiones de ln
, se encargará de los enlaces simbólicos a los directorios, reemplazándolos según sea necesario:
ln -sfn /path/to/data/folder/month/date/hour/minute/file /path/to/recent/file
POSIXln
no especifica, -n
por lo que no puede confiar en él en general. Gran parte del ln
comportamiento está definido por la implementación, por lo que realmente necesita verificar los detalles del sistema que está utilizando. Si está utilizando GNUln
, también puede usar las opciones -t
y -T
, para hacer que su comportamiento sea completamente predecible en presencia de directorios ( es decir, falla en lugar de crear el enlace dentro del directorio existente con el mismo nombre).