Escribo una herramienta (no) de archivo y la forma en que está diseñada primero crea un archivo regular del archivo antes de examinar los atributos especiales y puede decidir que esto el artículo es un enlace simbólico, de hecho.Cómo convertir un archivo normal en un enlace simbólico en Linux
Nota: Antes de que más personas me malinterpreten por querer hacer un enlace simbólico de un archivo. No, escribo los datos de enlace simbólico, es decir, su ruta, en el archivo, y luego deseo decirle al sistema de archivos que este es un enlace simbólico
Lo he estado desarrollando en OS X, donde es posible convertir un archivo regular en un enlace simbólico simplemente configurando sus códigos de Tipo y Creador en consecuencia.
Ahora me gusta que este código funcione en Linux también. Entonces me gusta encontrar una manera similar allí.
Soy consciente de que la forma normal de crear un enlace simbólico es llamar a la función symlink(), pero me pregunto si también hay una forma de convertir un archivo normal en un enlace simbólico, como es posible en el sistema BSD de OSX , para que no tenga que refactorizar mi código de trabajo demasiado?
Hay lstat(), que devuelve el tipo de archivo en los bits superiores de st_mode. Ahora me pregunto si también hay una función setter análoga para este campo de modo.
Comprobando si lo entiendo: ¿desea transformar un archivo normal en un enlace simbólico que apunte a lo que contenía el archivo? –