Hay al menos 2 utilidades estándar para construir un árbol de directorios sombra de un árbol existente, por lo que no es necesario escribir código aquí.
En primer lugar está lndir(1)
el xutils-dev
paquete. Utiliza enlaces simbólicos a los archivos. Desde la página del manual:
NAME
lndir - create a shadow directory of symbolic links to another
directory tree
SYNOPSIS
lndir [ -silent ] [ -ignorelinks ] [ -withrevinfo ] fromdir [ todir ]
Una alternativa quizás mejor es simplemente usar cp
con las opciones correctas como sugiere la respuesta aceptada. Solo daré más detalles útiles con suerte:
cp -al /src/dir /dest/dir # hard-links to leaf-files
cp -as /src/dir /dest/dir # symlinks to leaf-files
Si no le importa preservar todos los atributos (propiedades / permisos, tiempos), reemplace la a
opción (equivalente a -dr --preserve=all
) con r
(solo recursivo):
cp -rl /src/dir /dest/dir # hard-links to leaf-files
cp -rs /src/dir /dest/dir # symlinks to leaf-files