enlace simbólico al directorio ya existente


12

¿Hay una manera adecuada para vincular /home/user/app/publica /home/user/public_html, teniendo en cuenta el hecho de que el destino ya existe?

Si lo hago ln -s /home/user/app/public /home/user/public_html, termino teniendo /home/user/public_html/public.

Supongo que también sería posible invertir la acción como ln -s /home/user/public_html /home/user/app/public, sin embargo, no estoy seguro de cómo evitarlo /home/user/app/public/public_htmlcomo resultado final.

Respuestas:


13

Déjame entender tu problema de la manera correcta

Su fuente es /home/user/public_htmly supongo que tiene archivos allí. Y desea hacer un enlace a este directorio directamente en /home/user/app/public. De esta manera, podría hacer algo así ls /home/user/app/publicy ver los archivos que existen /home/user/public_html.

Si esto es correcto, entonces su fuente es /home/user/public_htmly el objetivo es /home/user/app/public. El comando correcto es este:

ln -s /home/user/public_html /home/user/app/public

Solo asegúrese de que /home/user/app/publicno sea un directorio o archivo válido, ingrese el comando anteriormente.


3
Este es uno antiguo, pero creo que el usuario preguntó exactamente cómo hacer lo que usted describe, pero, en el caso de que / home / user / app / public ya exista (que es exactamente la advertencia que menciona al final de su responder). Entonces, en mi humilde opinión, esto no responde a la pregunta original, ya que el usuario quería saber con precisión cómo tratar con un objetivo ya existente (es decir, cómo anularlo con el enlace simbólico, sin tener que eliminarlo antes de crear el enlace simbólico).
jotadepicas

Pruébalo -T opción :)
Milkmannetje

2

Si entiendo tu pregunta correctamente, querías saber cómo lidiar con objetivos ya existentes. Si ese es el caso, hay dos escenarios posibles.

1) el objetivo existente es un archivo. Si este es el caso, puede forzar la creación del enlace simbólico con "-f"

2) el objetivo existente es un directorio. Si este es el caso, entonces depende de su implementación actual del comando ln. Se podría tener el argumento "-n" disponibles, lo que hace a los directorios de enlaces simbólicos ser manejados adecuadamente, en lugar de duplicarlos como usted dice.

Referencia: /unix/207294/create-symlink-overwrite-if-one-exists


Me pregunto por qué el
voto negativo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.