Tutoriales

Cómo copiar la estructura de directorios sin archivos en Linux

Al copiar un directorio que contiene directorios (subdirectorios) y otros directorios en archivos, use el comando cp para ejecutar -R (recursivo) se puede hacer de manera eficiente con una sintaxis de comando simple como se describe a continuación.

$ cp -R path/to/source/directory path/to/destination/directory 

Sin embargo, en algunos casos, es posible que desee emular alguna estructura de directorios que ya existe para su proyecto personal o sistema de almacenamiento de archivos, porque esa estructura de directorios tiene mucho sentido y puede llevar mucho tiempo recrearla completamente desde cero.

Este artículo nos guiará a través de una forma eficiente de copiar una estructura de directorio vacía desde un archivo de directorio poblado en Linux.

planteamiento del problema

Dado que el objetivo principal de este artículo es replicar con éxito la estructura de directorios de un directorio ya existente y poblado (con subdirectorios), necesitamos nuestro propio directorio poblado como referencia.

Considere la estructura de directorios vista previa por el siguiente comando de árbol de Linux:

$ tree -a dir1
Compruebe la estructura de directorios de Linux

de acuerdo a Árbol Salida de comando, directorio raíz (directorio 1) tiene tres subdirectorios para un total de 10 documento. Nuestro objetivo es copiar este esqueleto de estructura de directorios a un nuevo destino sin los 10 archivos que ya existen.

Publicaciones relacionadas

1. Copie la estructura de directorios de Linux usando los comandos tree y xargs

Ya sabemos Árbol El comando imita un formato similar a un árbol al enumerar el contenido del directorio. por otra parte, xargs El comando toma la entrada estándar del usuario del sistema o la salida de ejecuciones de comandos anteriores para construir y ejecutar una línea de comandos.

Las operaciones relacionadas con la combinación de estos dos comandos son las siguientes:

  • Obtenga todas las rutas de directorio de una estructura de directorio existente.
  • Redirigir y usar la ruta del directorio recuperado como entrada.
  • usar mkdir-p El comando vuelve a crear la ruta del directorio recuperada en la nueva ruta del directorio.

Obtener la ruta del directorio de Linux

hemos admitido Árbol Efectividad de los comandos en la generación de formatos en forma de árbol de estructuras de directorios existentes.Sin embargo, podemos agregar algunas banderas y opciones de comando para garantizar Árbol El comando genera la ruta del directorio sin especificar el archivo del directorio en detalle.

$ tree -dfi --noreport dir1
Listar rutas de directorios de Linux
Listar rutas de directorios de Linux

Nuestra implementación de comando final se verá así:

$ tree -dfi --noreport dir1 | xargs -I{} mkdir -p "$HOME/Downloads/{}"

Ahora usemos Árbol Comando de nuevo para confirmar que la estructura del directorio se copia sin los archivos:

$ tree -a $HOME/Downloads/dir1
Copie la estructura de directorios de Linux
Copie la estructura de directorios de Linux

Tenemos tres directorios y cero archivos, por lo que nuestro objetivo está logrado.

2. Copie la estructura de directorios de Linux usando los comandos find y xargs

como con Árbol comando, podemos usar el comando de búsqueda para obtener la ruta completa del directorio en la estructura del directorio de destino.

$ find dir1 -type d

Este -type d notificación de opción Buscar Comando para recuperar directorios solamente.

Ver el directorio de Linux
Ver el directorio de Linux

El comando anterior se puede canalizar a xargs comando con destino (p. ej. $INICIO/ARCHIVOS) se utiliza para crear una estructura de directorios sin archivos.

$ xargs -I{} mkdir -p "$HOME/Documents/{}"

Nuestro comando final se verá así:

$ find dir1 -type d | xargs -I{} mkdir -p "$HOME/Documents/{}" 
Copiar estructura de directorios en Linux
Copiar estructura de directorios en Linux

Confirme la creación de la estructura de directorios:

$ tree -a $HOME/Documents/dir1
Confirme la estructura de directorios de Linux
Confirme la estructura de directorios de Linux

O combinar Buscar comando con -exec Los parámetros producen el mismo resultado:

$ find dir1 -type d -exec mkdir -p "$HOME/Desktop/{}" \;

¿Conoce otras formas geniales de copiar una estructura de directorio sin archivos? Siéntase libre de dejar un comentario o retroalimentación.

LEER  Cómo configurar el certificado SSL Let's Encrypt para un sitio alojado en el servidor web Apache - Tutoriales de Debian

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba