directory – Crea un enlace simbólico relativo al directorio actual

Pregunta:

Estoy tratando de crear un enlace simbólico en mi directorio de inicio que apunte a un directorio en mi disco duro externo.

Funciona bien cuando lo especifico así:

cd ~
ln -s /run/media/name/exhdd/Data/ Data

Sin embargo, crea un enlace defectuoso cuando intento esto:

cd /run/media/name/exhdd
ln -s Data/ ~/Data

Esto crea un vínculo que no puedo cd en.

Cuando lo intento, bash se queja:

bash: cd: Data: Too many levels of symbolic links

El enlace simbólico de datos en mi casa también está coloreado en rojo cuando ls está configurado para mostrar una salida en color.

¿Por qué está pasando esto? ¿Cómo puedo crear un enlace de esa manera? (Quiero crear un enlace simbólico a un directorio en mi directorio de trabajo en otro directorio).


Editar: de acuerdo con esta respuesta de StackOverflow, si el segundo argumento (en mi caso sería ~ / Data) ya existe y es un directorio, ln creará un enlace simbólico al objetivo dentro de ese directorio.

Sin embargo, estoy experimentando el mismo problema con:

ln -s Data/ ~/

Respuesta:

Esto es lo que está sucediendo. Si crea un enlace simbólico con una ruta relativa, el enlace simbólico será relativo. Los enlaces simbólicos simplemente almacenan las rutas que les proporcionas. Nunca resuelven caminos hacia caminos completos. Corriendo

$ pwd
/usr/bin
$ ln -s ls /usr/bin/ls2

crea un enlace simbólico llamado ls2 en /usr/bin a ls (es decir, /usr/bin/ls ) relativo al directorio en el que se encuentra el enlace simbólico ( /usr/bin ). El comando anterior crearía un enlace simbólico funcional desde cualquier directorio.

$ pwd
/home/me
$ ln -s ls /usr/bin/ls2

Si moviera el enlace simbólico a un directorio diferente, dejaría de apuntar al archivo en /usr/bin/ls .

Está creando un enlace simbólico que apunta a Data y lo llama Data . Se apunta a sí mismo. Tienes que hacer un enlace simbólico con la ruta absoluta del directorio.

ln -s "$(realpath Data)" ~/Data

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım