¿Cómo editar enlaces simbólicos en OS X?

3

Pasé cuidadosamente y creé similitudes con una gran cantidad de archivos en mi sistema. No podía usar los alias porque no podían copiarse con RSync, y también algunas aplicaciones que utilizo para acceder a mi sistema doméstico de forma remota a través de iOS, no podía manejar los alias pero funcionaba bien con enlaces simbólicos.

Sin embargo, ahora tuve que cambiar algunos discos duros y mis archivos originales ahora están en una nueva ubicación. Esto, por supuesto, significa que todos mis enlaces simbólicos se han roto.

Los alias tratan con esto muy bien, pero como se dijo anteriormente, tengo que seguir con los enlaces simbólicos. ¿Hay alguna forma de editar en masa estos enlaces simbólicos? Solo necesito cambiar el nombre de la unidad en la ruta. La ubicación anterior era por ejemplo:

/Volumes/Old Drive/path/to/file

el nuevo es:

/Volumes/New Drive/path/to/file

Parece que debería haber una forma de línea de comando viable para hacer esto ya que todos requerirán el mismo cambio. Encontré al menos una utilidad (Make Symlink) que dice permitir esto, pero parece tener muchos años y parece abandonada. Ni siquiera pude descomprimir el archivo .sit en el que estaba empaquetado.

EDITAR: encontré esta página , lo que sugiere que en unix de todos modos, el uso correcto de ln debería hacer el truco, pero hasta ahora no parece hacer nada, ni siquiera muestra ningún mensaje de error cuando se apunta a un enlace simbólico inexistente.

    
pregunta Jonathan van Clute 08.12.2013 - 06:33

1 respuesta

4

¡Lo tengo! Resulta que ln es la respuesta después de todo, pero tuve un error en mi camino.

Aquí hay una línea de comando funcional para cualquier persona que pueda necesitar editar un enlace simbólico "en el lugar" en el futuro:

ln -f -s /path/to/new/location/of/original /path/to/location/of/broken/symlink/

Observe que en realidad no está apuntando todo el camino hacia el propio enlace simbólico roto, sino hacia el directorio que contiene el enlace simbólico roto. Esto supone que el nombre esperado del enlace simbólico es idéntico al nombre original del elemento vinculado.

Por supuesto, esto es para arreglar un solo enlace, pero desde aquí puedo imaginar que no sería demasiado difícil escribir una solución que aplicara algo así recursivamente.

    
respondido por el Jonathan van Clute 08.12.2013 - 07:36

Lea otras preguntas en las etiquetas