¿Cómo crear enlaces suaves a todos los archivos en un directorio en un directorio diferente en la terminal?

¿Cómo crear enlaces suaves a todos los archivos en un directorio en un directorio diferente en la terminal?

Hacer ln -fs ./source/*en el directorio de destino no funciona

Muestra:

./source/file1 is not a directory

Respuesta1

De man ln:

SINOPSIS

   ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
   ln [OPTION]... TARGET                  (2nd form)
   ln [OPTION]... TARGET... DIRECTORY     (3rd form)
   ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

DESCRIPCIÓN

En el primer formulario, cree un enlace a TARGET con el nombre LINK_NAME. En el segundo formulario, cree un enlace a TARGET en el directorio actual. En las formas 3 y 4, cree enlaces a cada OBJETIVO en el DIRECTORIO. Cree enlaces físicos de forma predeterminada, enlaces simbólicos con --symbolic.

Al leerlo detenidamente, verá que (suponiendo que la carpeta de origen contenga más de un archivo) utilizó el tercer formulario. Como no especificó un directorio, el último nombre de archivo se interpreta como directorio.

Si está dentro del directorio en el que desea crear los enlaces simbólicos, simplemente puede agregar .(directorio actual) al final del comando:

ln -fs ./source/* .

Respuesta2

Quería/necesitaba hacer algo y @danzel dio la mejor respuesta. Esto es lo que necesitaba: crear un símbolo dentro de la carpeta del complemento de WordPress en otra carpeta dentro de la raíz de la instalación de WordPress.

  1. navegar a la carpeta
  2. asegúrate de que estoy en la carpeta correcta
  3. enumerar todos los elementos en la carpeta
  4. crear el enlace simbólico

Aquí están los comandos:

$ cd wp-content/plugins
$ pwd
$ ls -al
$ ln -s ../../my-folder-with-subfolders/subfolder-name/* .
$ ln -s ../../my-folder-with-subfolders/another-subfolder/* .

información relacionada