logo

Comando tar en Linux/Unix con ejemplos

El comando tar es la abreviatura de archivo de cinta en linux. Este comando se utiliza para crear un archivo y extraer los archivos comprimidos. En linux , es uno de los comandos esenciales que facilita la funcionalidad de archivado. Podemos usar este comando para crear archivos comprimidos y sin comprimir y también modificarlos y mantenerlos.

Tar es una utilidad de software informático para recopilar varios archivos en un solo archivo en informática. A menudo, se le conoce como tarball con fines de copia de seguridad y distribución. El título proviene de 'archivo de cinta' porque en realidad fue desarrollado para especificar datos en dispositivos de E/S secuenciales que no utilizan ninguno de sus sistemas de archivos. Los grupos de datos de archivo creados por tar incluyen muchos parámetros del sistema de archivos, como organización del directorio, permiso de acceso a archivos, propiedad, marcas de tiempo y nombre. A favor de pax, POSIX abandonó tar, pero tar todavía tiene un uso generalizado.

Primero, fue anunciado en la Versión 7 de Unix en enero de 1979, sustituyendo al programa tp. Para almacenar los datos, la estructura de archivos se estandarizó en POSIX.1-1988 y posteriormente POSIX.1-2001 y se convirtió en un patrón compatible con casi todos los sistemas de archivo de archivos modernos. Los sistemas operativos tipo Unix generalmente contienen herramientas para admitir archivos tar y utilidades utilizadas para comprimirlos, como bzip2 y gzip.
Desde la actualización de Microsoft del 10 de abril de 2018, BSD-tar está incluido en Microsoft Windows y existen dos o más herramientas de terceros para leer y escribir estos patrones en Windows.

Formatos de archivo de tar

Hay muchos formatos de archivos tar disponibles, incluidos los actuales e históricos. En POSIX se escriben dos formatos tar: pax y ustar.

Encabezamiento

El registro del encabezado del archivo incluye los metadatos de un archivo. En el registro de encabezado, la información está codificada en los estándares ASCII para garantizar la flexibilidad entre distintas arquitecturas utilizando distintos ordenamientos de bytes. Por lo tanto, si cada archivo es un archivo de texto ASCII en un archivo y contiene nombres ASCII, el archivo es un archivo de texto ASCII (que tiene varios caracteres NUL).

En la siguiente tabla se mencionan varios campos, definidos por el formato tar actual de Unix. La tabla de tipo de indicador/archivo de enlace contiene algunas extensiones modernas. Un campo se llena con varios bytes NUL si no se utiliza.

Encabezado tar anterior a POSIX.1-1988:

Campo Tamaño del campo Desplazamiento de campo
Nombre del archivo 100 0
Modo de archivo 8 100
ID de usuario numérico del propietario 8 108
ID de usuario numérico del grupo 8 116
Tamaño del archivo en bytes 12 124
Hora de la última modificación en forma de hora numérica Unix 12 136
Suma de comprobación para el registro de encabezado 8 148
Indicador de enlace 1 156
Nombre del archivo vinculado 100 157

Formato Ustart

Casi todos los programas tar modernos escriben y leen archivos en el formato Ustar, anunciado por el estándar POSIX IEEE P1003.1 de 1988. Introdujo campos de encabezado adicionales. Los programas tar anteriores evitarían la información adicional, pero los programas nuevos verificarán la presencia de la cadena 'Ustar' para decidir si el formato más nuevo está en uso.

Campo Tamaño del campo Desplazamiento de campo
Muchos campos, como en el formato anterior. 156 0
Tipo bandera 1 156
Campo similar al del formato anterior. 100 157
'ustar' Indicador Ustar, luego NUL 6 257
'00' versión Ustar 2 263
Nombre de usuario del propietario 32 265
Nombre del grupo del propietario 32 297
Número mayor del dispositivo. 8 329
Número menor del dispositivo. 8 337
Prefijo de nombre de archivo 155 345

POSIX.1-2001/pax

Sun propuso una técnica para agregar extensiones a un formato tar en 1997. Posteriormente, fue aprobada para el estándar POSIX.1-2001. El formato se llama formato pax o formato tar extendido. Algunas etiquetas están especificadas por el estándar POSIX, incluidas mtime, atime, linkpath, gname, uname, tamaños, gid, uid y una definición de juego de caracteres para nombres de grupo/usuario y nombres de ruta.

Implementaciones clave de tar

Las implementaciones clave se mencionan en el orden de origen:

    Solaris tar viene de forma predeterminada en el sistema operativo Solaris, basado en el Unix V7 real. alquitrán GNU es un valor predeterminado en casi todas las distribuciones de Linux. Se basa en una implementación de dominio público pdtar que comenzó en 1987. Las ediciones recientes pueden utilizar muchos formatos, como GNU, pax, v7 y ustar. Alquitrán de FreeBSD se ha convertido en un tar predeterminado en casi todos los sistemas operativos basados ​​en Berkeley Software Distribution, como Mac OS X. Alquitrán Schily Es históricamente importante ya que algunas de sus ampliaciones fueron famosas. Fue lanzado por primera vez en abril de 1997. archivo tar de Python admite dos o más formatos tar, como gnu, pax y ustar; puede leer pero no convertir los formatos tar extendido y V7 de SunOS; pax es un formato predeterminado para la creación de archivos. Ha estado disponible para los usuarios desde 2003.

Además, la mayoría de las implementaciones de cpio y pax pueden crear y leer dos o más tipos de archivos tar.

parámetros predeterminados de java

Sintaxis del comando tar:

 tar [options] [archive-file] [directory or file to be archived] 

Opciones en el comando tar

A continuación se enumeran varias opciones en el comando tar:

    -C:Esta opción se utiliza para crear el archivo.-F:Esta opción se utiliza para crear un archivo junto con el nombre proporcionado del archivo.-X:Esta opción se utiliza para extraer archivos.-en:Se puede utilizar para agregar un archivo al archivo existente.-t:Se utiliza para mostrar o enumerar archivos dentro del archivo archivado.-A:Esta opción se utiliza para concatenar los archivos comprimidos.-en:Se puede utilizar para mostrar información detallada.-j:Se utiliza para filtrar archivos tar con la ayuda de tbzip.-Con:Es un archivo zip e informa al comando tar que crea un archivo tar con la ayuda de gzip.-r:Esta opción se utiliza para actualizar y agregar un directorio o archivo en un archivo .tar existente.-EN:Esta opción se utiliza para verificar el archivo comprimido.

Introducción al archivo de almacenamiento

El archivo de almacenamiento se puede definir como un archivo que contiene varios archivos con metadatos. Estos archivos se utilizan para recopilar más de un archivo de datos en un archivo individual para facilitar el almacenamiento y la portabilidad. También se puede utilizar para comprimir archivos para consumir menos espacio de almacenamiento.

Ejemplos de comando tar

Algunos de los ejemplos importantes que se utilizan ampliamente en el comando tar son los siguientes:

1 de 1000.00

1. Crear un archivo tar sin comprimir con la opción -cvf

Esta opción crea un archivo tar conocido como archivo.tar . Es el archivo de cada archivo .txt que contiene. midir directorio.

El comando es el siguiente:

 $ tar cvf file.tar *.txt 

Comando tar en Linux

2. Extraer archivos a través del archivo con la opción -xvf

Esta opción puede extraer archivos a través de archivos.

El comando es el siguiente:

 $ tar xvf file.tar 

Comando tar en Linux

3. Compresión gzip sobre archivo tar con la opción -z

Esta opción crea un archivo tar conocido como archivo.tar.gz. Es el archivo de cada archivo .txt.

El comando es el siguiente:

 $ tar cvzf file.tar.gz *.txt 

Comando tar en Linux

4. Extraer el archivo tar gzip con la opción -xvzf

Esta opción puede extraer los archivos a través de archivos archivados tar file.tar.gz.

El comando es el siguiente:

 $ tar xvzf file.tar.gz 

Comando tar en Linux

5. Crear archivos tar comprimidos con la opción -j

Esta opción nos ayudará a crear y comprimir archivos. Tanto descomprimir como comprimir lleva más tiempo en comparación con gzip.

El comando es el siguiente:

 $ tar cvfj file.tar.tbz hello1.txt 

Comando tar en Linux

6. Descomprimir un único directorio o archivo especificado en Linux

Esta opción se utiliza para descomprimir cualquier archivo en nuestro directorio actual o dentro del directorio especificado con la opción -C.

El comando es el siguiente:

 $ tar -xvf file.tar -C file's path in the directory 

Comando tar en Linux

O,

 $ tar -xvf file.tar 

Comando tar en Linux

7. Untar multiple .tar.tbz, .tar.gz, .tar files in Linux

Esta opción nos ayudará a untar o extraiga más de un archivo de tar.bz2, tar.gz y un archivo tar.

El ejemplo de esta opción es el siguiente:

 $ tar -jxvf file.tar.tbz 'hello1.txt' 

Comando tar en Linux

O,

¿Qué es el prólogo?
 $ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt' 

Comando tar en Linux

O,

 $ tar -xvf file.tar 'hello1.txt' 'hello2.txt' 

Comando tar en Linux

8. Verifique el tamaño del archivo tar.tbz, tar.gz, tar existente

El comando nos ayudará a mostrar el tamaño del archivo comprimido en kilobytes (KB) que se menciona anteriormente.

El comando es el siguiente:

 $ tar -czf - file2.tar.tbz | wc -c 

O,

 $ tar -czf - file1.tar.gz | wc -c 

O,

 $ tar -czf - file.tar | wc -c 

Comando tar en Linux

9. Actualice el archivo tar existente

En Linux, el comando para actualizar un archivo tar existente es el siguiente:

 $ tar rvf file.tar *.txt 

10. Lista de contenido y descripción del archivo tar con la opción tf

Esta opción nos ayudará a enumerar la lista completa de archivos comprimidos. Además, podemos enumerar contenido particular dentro de cualquier archivo tar.

El comando es el siguiente:

 $ tar tf file.tar 

Comando tar en Linux

11. Ver el archivo con la opción -tvf

En Linux, podemos usar la opción -tvf para ver el archivo.

El comando es el siguiente:

 $ tar -tvf file.tar 

Comando tar en Linux

12. Pase el nombre del archivo como argumento para encontrar un archivo tar.

Esta opción puede ver los archivos archivados con su información.

polimorfismo en java

El comando es el siguiente:

 $ tar tvf file.tar filename 

Comando tar en Linux

13. Usando pipe para lanzar el 'comando grep' para buscar lo que estamos buscando

Esta opción nos ayudará a listar solo la imagen o el texto mencionado en agarre a través de archivos archivados.

El comando es el siguiente:

 $ tar tvf file.tar | grep 'filename.file' 

O,

 $ tar tvf file.tar | grep 'text to search' 

Comando tar en Linux

Introducción a los comodines

Alternativamente, los comodines se denominan carácter comodín o carácter comodín en Linux. Es un símbolo que se utiliza para representar o reemplazar múltiples caracteres.

Normalmente, los comodines son un signo de interrogación (?) que ilustra un carácter individual o un asterisco (*) que ilustra varios caracteres.

Ejemplo-

14. Encuentra una imagen en formato .webp

Nos ayudará a extraer sólo archivos junto con la extensión .webp del archivo file.tar. La opción -wildcards informa a tar para interpretar los comodines en el nombre del archivo que se va a extraer.

El nombre del archivo (*.webp) está entre comillas simples para proteger el comodín (*) de que cualquier shell lo expanda incorrectamente.

El comando es el siguiente:

 $ tar tvf file.tar --wildcards '*.webp' 

Comando tar en Linux

Nota: En el comando anterior, el símbolo '*' se aplica en la posición del nombre del archivo para tomar cada archivo disponible en ese directorio específico.

15. Eliminar archivos del archivo tar.

Podemos usar la opción --delete para eliminar archivos y un archivo tar.

El comando es el siguiente:

 $ tar --delete -f archive.tar file_name 

Ejemplo:

 tar -delete -f file.tar hello1.txt 

Producción:

Comando tar en Linux

hola1.txt El archivo ha sido eliminado del archivo file.tar:

Comando tar en Linux