La compresión de archivos es una utilidad esencial en todas las plataformas. Le ayuda a reducir el tamaño del archivo y compartir archivos de manera eficiente. Y los archivos comprimidos también son más fáciles de copiar a servidores remotos.
También puede comprimir archivos más antiguos y poco usados y guardarlos para usarlos en el futuro, lo que le ayuda a ahorrar espacio en disco.
En esta publicación, veremos cómo comprimir archivos con el tar
comando en Linux, junto con algunos ejemplos de tar
en acción.
¿Qué es el comando tar?
Usamos el tar
Comando para comprimir y expandir archivos desde la línea de comando. La sintaxis se muestra a continuación:
tar [flags] destinationFileName sourceFileName
El tar
El comando utiliza los siguientes indicadores para personalizar la entrada del comando:
Bandera | Explicación | Uso |
-c | Crear un nuevo archivo. | Usamos esta bandera siempre que necesitamos crear un nuevo archivo. |
-z | Usar compresión gzip. | Cuando especificamos este indicador, significa que el archivo se creará usando compresión gzip. |
-v | Proporcionar salida detallada. | Proporcionar el indicador -v muestra los detalles de los archivos comprimidos. |
-f | Nombre del archivo de archivo. | Los nombres de los archivos de archivo se asignan mediante el indicador -f. |
-x | Extraer de un archivo comprimido. | Usamos esta marca cuando es necesario extraer archivos de un archivo. |
Cómo crear un archivo
Tenemos una lista de los siguientes archivos que comprimiremos con tar
.
Para comprimirlos, usaremos tar
así:
tar -czvf logs_archive.tar.gz *
Analicemos este comando y analicemos cada indicador.
-c
está creando y archivando.
-z
está usando compresión gzip.
-v
proporciona detalles de los archivos que se han archivado.
-f
está creando un archivo con el nombre 'logs_archive.tar.gz' como se indica en el comando anterior.
En los resultados a continuación, podemos ver que el archivo se ha creado correctamente.
Cómo eliminar archivos después de la compresión
Digamos que no queremos conservar los archivos originales después de crear un archivo. Para eso, podemos usar --remove-files
bandera.
tar -czvf logs_archive.tar.gz * --remove-files
Aquí, el -czvf
las banderas funcionan como se demostró antes, pero los archivos originales también se eliminan. Una vez que enumeramos los archivos, solo vemos el archivo.
Cómo ver el contenido de un archivo
Es posible que necesite ver el contenido de un archivo sin extraerlo realmente. Puedes hacer esto con -t
bandera.
tar -tvf logs_archive.tar.gz
En este comando, -t
flag especifica que solo necesitamos ver el contenido del archivo. -f
especifica el nombre del archivo y -v
muestra el contenido detallado.
Para extraer archivos de un archivo, usa -x
marcar así:
tar -xzvf logs_archive.tar.gz
Analicemos este comando y analicemos cada indicador.
-x
está extrayendo y archivando.
-z
especifica que el archivo es gzip.
-v
proporciona detalles de los archivos que se han archivado.
-f
está extrayendo del archivo llamado 'logs_archive.tar.gz'.
Aquí hay un consejo útil:los comandos que tardan mucho tiempo en ejecutarse pueden continuar en segundo plano con &
.
Agregar archivos a un archivo y extraer un archivo puede llevar un tiempo. Para mantener los comandos ejecutándose en segundo plano mientras continúa trabajando, empareje el comando con &
así:
tar -xzvf logs_archive.tar.gz &
Cómo buscar en archivos de registro comprimidos
Es posible que aún necesite acceder a ciertos archivos una vez que estén archivados. Afortunadamente, hay un método que puede usar para buscar y ver archivos de registro comprimidos sin descomprimirlos y comprometer el espacio en disco.
El comando que puede usar para buscar en archivos comprimidos es zgrep
:
Podemos buscar una cadena en un archivo usando el siguiente comando:
zgrep -Hna 'string-to-search' compressedFile.tar.gz
Veamos brevemente las banderas.
-H
muestra el nombre del archivo que contiene la coincidencia.
-n
muestra el número de línea que contiene la cadena coincidente.
-a
trata todos los archivos como archivos de texto.
Este es el resultado:
Resumiendo
La compresión de archivos nos ayuda a ahorrar tiempo y recursos al compartir archivos. Los servidores casi siempre están rotando y archivando enormes archivos de registro.
También puede programar la compresión de archivos a través de cron
trabajos para automatizar la limpieza del disco. Le recomiendo que aproveche esta utilidad.
Gracias por leer hasta el final. Me encantaría conectar contigo. Puedes encontrarme aquí en Twitter. Comparte tus pensamientos.
Nos vemos.