Cómo tar un directorio sin incluir el directorio en sí

¡Hola amigos! Hoy, desentrañemos un claro tar truco que a menudo se pregunta sobre: ¿Cómo tar archivos y carpetas? ¿Dentro de un directorio sin incluir el directorio principal en el tarball? Esto es especialmente útil cuando sólo desea el contenido, no la estructura de carpetas.

El clásico rompecabezas de alquitrán

Imagina que tienes un directorio Data lleno de archivos y otras carpetas. Quieres crear un Data.tar archivo de todo lo que hay dentro Data pero sin la Data El directorio en sí es parte del archivo. Suena complicado, ¿verdad? ¡No precisamente!

Sumérgete en la línea de comando

He aquí cómo hacerlo:

  1. Navegue al directorio de padres: Primero, debe estar en el directorio que contiene Data.
   cd /path/to/parent
  1. Utilice Tar con comodines: El truco consiste en utilizar comodines. en lugar de decir tar archivar Data, le dices que archive todo dentro Data.
   tar -cvf Data.tar -C Data .

Aquí, -C Data cambia el directorio a Data primero y . significa todo lo que hay dentro de él.

¿Por qué este Matters

Este método es útil por varias razones:

  • Archivado selectivo: Obtiene el contenido sin la capa de carpeta adicional, perfecto para escenarios de implementación o copia de seguridad específicos.
  • Flexibilidad : Permite un mayor control sobre la estructura de sus datos archivados.
  • Limpio y ordenado: Ideal cuando desea descomprimir archivos sin crear un directorio adicional.

Ahora exploremos algunos de los otros escenarios.

Escenario 1: tipos de archivos específicos de Tar

Supongamos que desea tar solo ciertos tipos de archivos dentro del directorio. Puedes combinar el comando buscar con tar:

cd /path/to/parent
tar -cvf Data.tar -C Data $(find . -name "*.txt" -type f)

Este comando solo archiva .txt archivos de la Data directorio.

Escenario 2: exclusión de ciertos archivos

Si desea excluir archivos o patrones específicos:

cd /path/to/parent
tar --exclude='*.log' -cvf Data.tar -C Data .

Esto excluye a todos .log archivos del archivo.

Escenario 3: alquitrán y compresa sobre la marcha

Para comprimir el tarball inmediatamente:

cd /path/to/parent
tar -czvf Data.tar.gz -C Data .

Esto crea un tarball comprimido con el contenido de Data.

Escenario 4: copia de seguridad incremental

Si está realizando copias de seguridad incrementales del contenido:

cd /path/to/parent
tar --listed-incremental=/path/to/snapshot.file -cvf Data.tar -C Data .

Esto crea un tarball mientras registra los cambios de la última copia de seguridad.

Resumen

Estos escenarios ilustran la versatilidad de tar. Ya sea que esté administrando copias de seguridad, implementando software o simplemente organizando archivos, tar ofrece una solución adaptada a sus necesidades. Recuerde siempre navegar al directorio correcto y usar comodines o comandos específicos para controlar lo que se incluye en su tarball.

¡Explore, experimente y domine estos trucos para que su viaje a Linux sea más eficiente y agradable!