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.
Creación de una Estructura de Directorios para el Archivado
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:
-cle dice a tar que cree un nuevo archivo-zle dice a tar que comprima el archivo utilizando gzip-vhabilita el modo detallado, mostrando los archivos que se están procesando-f ~/project/documents_archive.tar.gzespecifica el nombre del archivo de archivo-C ~/projectle dice a tar que cambie al directorio~/projectantes de archivardocument_libraryes 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:
-tle dice a tar que liste el contenido del archivo-vhabilita el modo detallado, mostrando información detallada-f ~/project/documents_archive.tar.gzespecifica 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 Comprimido
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:
-xle dice a tar que extraiga archivos-zle dice a tar que descomprima el archivo comprimido con gzip-vhabilita el modo detallado, mostrando los archivos que se están extrayendo-f ~/project/documents_archive.tar.gzespecifica el archivo-C ~/projectle 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:
- Crear una estructura de directorios con archivos para preparar la compresión en un archivo
- Crear un archivo comprimido utilizando el comando
tarcon las opciones-czvf - Ver el contenido de un archivo sin extraerlo utilizando las opciones
-tvf - 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.



