¿Hay alguna forma de crear un enlace suave usando una ruta relativa? (no relativo al hogar, ni absoluto)

¿Hay alguna forma de crear un enlace suave usando una ruta relativa? (no relativo al hogar, ni absoluto)

Intenté usar relativo a pwd, pero no funciona.

Mi contraseña actual es diferente de la ruta de destino y la ruta original (desde donde se debe crear el enlace).

No conozco el directorio de inicio, por lo que no puedo utilizar la ruta de acceso relativa al inicio. No se requiere una ruta de acceso absoluta.

¿Cómo puedo crear un enlace suave usando una ruta relativa?

Respuesta1

Un enlace simbólico relativo es relativo a su directorio principal, eso es irrelevante para el directorio actual de cualquier proceso o el directorio de inicio de cualquier usuario.

Por ejemplo, si /some/dir/linkes un enlace simbólico a ../foo/bar, entonces es un enlace simbólico a /some/dir/../foo/bar( /some/foo/barsi /some/dirno es en sí mismo un enlace simbólico), independientemente de cuál sea su directorio actual o de inicio.

Si desea crear un nuevo enlace simbólico a un archivo relativo al directorio actual (por ejemplo, el bin/lsarchivo en su /home/stephanedirectorio actual), puede hacerlo (en shells tipo POSIX o fish):

ln -s -- "$PWD/bin/ls" /some/dir/link

Lo que crearía un enlace simbólico absoluto (a /home/stephane/bin/ls). Para crear un enlace simbólico relativo, necesitaría:

ln -s ../../home/stephane/bin/ls /some/dir/link

(asumiendo que /somey /some/dirno son en sí mismos enlaces simbólicos)

GNU lntiene una -ropción para ayudarte a calcular esa ruta:

ln -rs bin/ls /some/dir/link

(lo que crearía el mismo enlace simbólico a ../../home/stephane/bin/ls).

Respuesta2

Puedes hacer un enlace simbólico usando una ruta relativa.

por ejemplo (desea crear un enlace simbólico desde la carpeta bbque se encuentra ../../bbrelacionada con el directorio de trabajo actual paramylink

ln -s ../../bb/ mylink

$ ls -lsa mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 15:51 mylink -> ../../bb/

Otro ejemplo donde mylink está en una carpeta relacionada parapwd

mkdir ../../tst
$ ln -s ../../bb/ ../../tst/mylink
$ ls -lsa ../../tst/mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 16:08 ../../tst/mylink -> ../../bb/

información relacionada