Preserva los Archivos Místicos de Airship con Tar

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

El comando tar en Linux es una poderosa utilidad utilizada para archivar archivos y directorios. Esta herramienta permite a los usuarios agrupar múltiples archivos y directorios en un solo archivo de archivo, lo que hace que el almacenamiento, transferencia y respaldo de datos sean más eficientes. En este laboratorio, aprenderá cómo usar el comando tar para crear archivos, ver su contenido y extraer archivos de ellos. Estas habilidades son esenciales para administradores de sistemas, desarrolladores y cualquier usuario de Linux que necesite administrar datos de manera eficiente.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/CompressionandArchivingGroup(["Compression and Archiving"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/CompressionandArchivingGroup -.-> linux/tar("Archiving") linux/CompressionandArchivingGroup -.-> linux/gzip("Gzip") subgraph Lab Skills linux/ls -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/touch -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/rm -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/cd -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/mkdir -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/grep -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/tar -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} linux/gzip -.-> lab-271397{{"Preserva los Archivos Místicos de Airship con Tar"}} end

Creación de una estructura de directorios para archivar

Antes de poder crear un archivo, necesitamos algunos archivos y directorios con los que trabajar. En este paso, crearás una estructura de directorios con varios archivos que luego se archivarán.

Primero, naveguemos al directorio de trabajo predeterminado:

cd ~/project

Ahora, creemos un directorio llamado document_library con tres subdirectorios: reports, specifications y references:

mkdir -p ~/project/document_library/{reports,specifications,references}

El comando mkdir crea directorios, y la opción -p nos permite crear directorios padre si no existen. Las llaves {} se utilizan para crear múltiples subdirectorios a la vez.

A continuación, creemos algunos archivos de ejemplo en cada uno de estos directorios:

touch ~/project/document_library/reports/{quarterly,annual,monthly}.txt
touch ~/project/document_library/specifications/{product,service,system}.txt
touch ~/project/document_library/references/{guide,manual,handbook}.txt

El comando touch crea archivos vacíos. En este caso, estamos creando tres archivos de texto en cada subdirectorio.

Verifiquemos que nuestra estructura de directorios se haya creado correctamente utilizando el comando ls con la opción -R para listar recursivamente el contenido de los directorios:

ls -R ~/project/document_library

Deberías ver una salida similar a esta:

/home/labex/project/document_library:
references  reports  specifications

/home/labex/project/document_library/references:
guide.txt  handbook.txt  manual.txt

/home/labex/project/document_library/reports:
annual.txt  monthly.txt  quarterly.txt

/home/labex/project/document_library/specifications:
product.txt  service.txt  system.txt

Esto muestra que hemos creado con éxito nuestra estructura de directorios con los archivos de ejemplo. En el siguiente paso, aprenderemos cómo crear un archivo de estos archivos utilizando el comando tar.

Creación de un archivo con tar

Ahora que tenemos nuestra estructura de directorios configurada, usemos el comando tar para crear un archivo del directorio document_library completo. El comando tar es versátil y tiene muchas opciones, pero por ahora nos centraremos en las más comunes.

La sintaxis básica para crear un archivo con tar es:

tar [opciones] [nombre-del-archivo] [archivos o directorios a archivar]

Opciones comunes incluyen:

  • -c: Crear un nuevo archivo
  • -z: Comprimir el archivo utilizando gzip
  • -v: Modo detallado (mostrar progreso)
  • -f: Especificar el nombre de archivo del archivo
  • -C: Cambiar al directorio especificado antes de realizar operaciones

Creemos un archivo comprimido de nuestro directorio document_library:

tar -czvf ~/project/documents_archive.tar.gz -C ~/project document_library

En este comando:

  • -c le dice a tar que cree un nuevo archivo
  • -z le dice a tar que comprima el archivo utilizando gzip
  • -v habilita el modo detallado, mostrando los archivos que se están procesando
  • -f ~/project/documents_archive.tar.gz especifica el nombre del archivo de archivo
  • -C ~/project le dice a tar que cambie al directorio ~/project antes de archivar
  • document_library es el directorio que queremos archivar

Deberías ver una salida que enumera todos los archivos que se están agregando al archivo. Esto indica que el archivo se está creando con éxito.

Para verificar que el archivo se haya creado, comprobemos su existencia y tamaño:

ls -lh ~/project/documents_archive.tar.gz

La salida debería mostrar algo como:

-rw-r--r-- 1 labex labex 237 Sep 22 10:00 /home/labex/project/documents_archive.tar.gz

Las opciones -lh con ls muestran información detallada, incluyendo tamaños de archivo legibles para humanos. El tamaño real del archivo puede variar, pero debería ser relativamente pequeño ya que nuestros archivos de ejemplo están vacíos.

¡Felicidades! Has creado con éxito un archivo comprimido de tu estructura de directorios. En el siguiente paso, exploraremos cómo ver el contenido de este archivo sin extraerlo.

Visualización del contenido de un archivo

Antes de extraer un archivo, a menudo es útil ver su contenido para asegurarse de que contiene los archivos esperados o para localizar archivos específicos. El comando tar proporciona opciones para listar el contenido de un archivo sin extraerlo.

Para listar el contenido del archivo que creamos, utiliza el siguiente comando:

tar -tvf ~/project/documents_archive.tar.gz

En este comando:

  • -t le dice a tar que liste el contenido del archivo
  • -v habilita el modo detallado, mostrando información detallada
  • -f ~/project/documents_archive.tar.gz especifica el archivo a examinar

Deberías ver una salida similar a esta:

drwxr-xr-x labex/labex     0 2023-09-22 10:00 document_library/
drwxr-xr-x labex/labex     0 2023-09-22 10:00 document_library/references/
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/references/guide.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/references/handbook.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/references/manual.txt
drwxr-xr-x labex/labex     0 2023-09-22 10:00 document_library/reports/
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/reports/annual.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/reports/monthly.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/reports/quarterly.txt
drwxr-xr-x labex/labex     0 2023-09-22 10:00 document_library/specifications/
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/specifications/product.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/specifications/service.txt
-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/specifications/system.txt

Esta salida muestra los permisos, el propietario, el tamaño, la fecha de modificación y la ruta de cada archivo y directorio en el archivo.

Si quieres buscar archivos específicos en el archivo, puedes canalizar la salida a grep. Por ejemplo, para encontrar todos los archivos que tengan "annual" en su nombre:

tar -tvf ~/project/documents_archive.tar.gz | grep annual

Esto debería mostrar:

-rw-r--r-- labex/labex     0 2023-09-22 10:00 document_library/reports/annual.txt

Ver el contenido de un archivo es útil cuando necesitas verificar lo que hay dentro antes de extraerlo, especialmente cuando se trata de archivos grandes o cuando solo estás interesado en archivos específicos. En el siguiente paso, aprenderemos cómo extraer archivos de nuestro archivo.

Extracción de archivos de un archivo

Ahora que sabemos cómo crear archivos y ver su contenido, aprendamos cómo extraer archivos de un archivo. Esto es útil cuando necesitas restaurar archivos de una copia de seguridad o cuando recibes un archivo de otra persona.

Para demostrar esto, primero simulemos un escenario en el que nuestra estructura de directorios original se pierde. Eliminaremos el directorio document_library:

rm -rf ~/project/document_library

El comando rm elimina archivos y directorios, y las opciones -rf le indican que opere de forma recursiva y fuerce la eliminación sin solicitar confirmación. Ten cuidado al usar este comando en escenarios del mundo real, ya que elimina permanentemente los archivos.

Verifiquemos que el directorio se haya eliminado:

ls -la ~/project

No deberías ver document_library en la lista, pero aún deberías ver tu archivo documents_archive.tar.gz.

Ahora, extraigamos el archivo para restaurar nuestros archivos. La sintaxis básica para extraer con tar es:

tar [opciones] [nombre-del-archivo]

Opciones comunes de extracción incluyen:

  • -x: Extraer archivos de un archivo
  • -z: Descomprimir utilizando gzip
  • -v: Modo detallado (mostrar progreso)
  • -f: Especificar el nombre de archivo del archivo
  • -C: Cambiar al directorio especificado antes de extraer

Extraigamos nuestro archivo:

tar -xzvf ~/project/documents_archive.tar.gz -C ~/project

En este comando:

  • -x le dice a tar que extraiga archivos
  • -z le dice a tar que descomprima el archivo comprimido con gzip
  • -v habilita el modo detallado, mostrando los archivos que se están extrayendo
  • -f ~/project/documents_archive.tar.gz especifica el archivo
  • -C ~/project le dice a tar que extraiga los archivos al directorio ~/project

Deberías ver una salida que enumera todos los archivos que se están extrayendo, similar a lo que viste cuando creaste el archivo.

Verifiquemos que nuestra estructura de directorios se haya restaurado:

ls -R ~/project/document_library

Deberías ver la misma estructura de directorios y archivos que creamos originalmente:

/home/labex/project/document_library:
references  reports  specifications

/home/labex/project/document_library/references:
guide.txt  handbook.txt  manual.txt

/home/labex/project/document_library/reports:
annual.txt  monthly.txt  quarterly.txt

/home/labex/project/document_library/specifications:
product.txt  service.txt  system.txt

Si solo quieres extraer archivos específicos de un archivo, puedes especificar sus rutas después del nombre del archivo. Por ejemplo, para extraer solo el directorio de informes:

mkdir -p ~/project/extracted_reports
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project/extracted_reports document_library/reports

Esto extraerá solo el directorio reports y su contenido al directorio extracted_reports.

¡Felicidades! Has aprendido con éxito cómo extraer archivos de un archivo utilizando el comando tar. Esta habilidad es esencial para realizar copias de seguridad, instalar software desde el código fuente y muchas otras operaciones de Linux.

Resumen

En este laboratorio, has aprendido cómo usar el comando tar en Linux para gestionar archivos comprimidos. Has practicado varias habilidades esenciales:

  1. Crear una estructura de directorios con archivos para preparar la compresión en un archivo
  2. Crear un archivo comprimido utilizando el comando tar con las opciones -czvf
  3. Ver el contenido de un archivo sin extraerlo utilizando las opciones -tvf
  4. Extraer archivos de un archivo para restaurar datos utilizando las opciones -xzvf

Estas habilidades son fundamentales para muchas operaciones en Linux, incluyendo procedimientos de copia de seguridad y restauración, instalación de software y gestión de archivos. El comando tar es una herramienta poderosa en el entorno Linux, y comprender cómo usarlo de manera efectiva te ayudará a gestionar tus datos de manera eficiente.

Recuerda las opciones clave del comando tar:

  • -c: Crear un nuevo archivo
  • -x: Extraer archivos de un archivo
  • -t: Listar el contenido de un archivo
  • -z: Utilizar compresión gzip
  • -v: Modo detallado (mostrar progreso)
  • -f: Especificar el nombre de archivo del archivo
  • -C: Cambiar al directorio especificado antes de realizar operaciones

Ahora puedes utilizar con confianza el comando tar para crear copias de seguridad, compartir archivos y restaurar datos en tu entorno Linux.