Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Cómo crear y extraer archivos con el comando Tar en Linux

27 feb 2021 5 min di lettura
Cómo crear y extraer archivos con el comando Tar en Linux
Tabla de contenidos

Introducción

El tar se utiliza para crear archivos tar convirtiendo un grupo de archivos en un archivo. También tiene la capacidad de extraer archivos tar, ver una lista de archivos incluidos en el archivo, agregar archivos adicionales a un archivo existente, así como varios otros tipos de operaciones.

Tar fue diseñado originalmente para crear archivos de archivo en cinta magnética, por lo que tiene su nombre " T ape AR chive".

En este tutorial, le mostraremos cómo usar el tar para extraer, listar y crear archivos tar a través de ejemplos prácticos y explicaciones detalladas de las opciones tar más comunes.

Sintaxis del comando tar

Hay dos versiones de tar, tar BSD y tar GNU con algunas diferencias funcionales entre ellas. La mayoría de los sistemas Linux vienen con GNU tar preinstalado de forma predeterminada.

La sintaxis general del tar es la siguiente:

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

OPERATION: solo se permite y requiere un argumento de operación. Las operaciones más utilizadas son:

  • --create ( -c ): crea un nuevo archivo tar.
  • --extract ( -x ): extrae todo el archivo o uno o más archivos de un archivo.
  • --list ( -t ): muestra una lista de archivos incluidos en el archivo

OPTIONS: las operaciones que se utilizan con más frecuencia son:

  • --verbose ( -v ): muestra los archivos que procesa el comando tar.
  • --file=archive=name ( -f archive-name ): especifica el nombre del archivo.
  • ARCHIVE_NAME: el nombre del archivo.
  • FILE_NAME(s): una lista de nombres de archivos separados por espacios para extraer del archivo. Si no se proporciona, se extrae todo el archivo.

Al ejecutar comandos tar, puede utilizar la forma larga o corta de las operaciones y opciones tar Los formularios largos son más legibles, mientras que los formularios cortos son más rápidos de escribir. Las opciones de formato largo están precedidas por un guión doble ( -- ). Las opciones de formato corto están precedidas por un solo guión ( - ) que se puede omitir.

Creación de Tar Archive

Tar admite una amplia gama de programas de compresión, como gzip, bzip2, lzip, lzma, lzop, xz y compress. Al crear archivos tar comprimidos, es una convención aceptada agregar el sufijo del compresor al nombre del archivo. Por ejemplo, si un archivo fue comprimido con gzip, debería llamarse archive.tar.gz.

Para crear un archivo tar use la -c seguida de la -f y el nombre del archivo.

Por ejemplo, para crear un archivo llamado archive.tar consta de archivos llamados file1, file2, file3, debe ejecutar el siguiente comando:

tar -cf archive.tar file1 file2 file3

Aquí está el comando equivalente que usa opciones de formato largo:

tar --create --file=archive.tar file1 file2 file3

Los archivos pueden crearse a partir del contenido de uno o más directorios o archivos. De forma predeterminada, los directorios se archivan de forma recursiva a menos que se --no-recursion.

El siguiente ejemplo creará un archivo llamado user_backup.tar del /home/user:

tar -cf backup.tar /home/user

Utilice la -v si desea ver los archivos que se están procesando.

Creación del archivo Tar Gz

Gzip es el algoritmo más popular para comprimir archivos tar. Al comprimir archivos tar con gzip, el nombre del archivo debe terminar con tar.gz o tgz.

La -z le dice a tar que comprima el archivo usando el gzip mientras se crea. Por ejemplo, para crear un archivo tar.gz a partir de ciertos archivos, use el siguiente comando:

tar -czf archive.tar.gz file1 file2

Creación del archivo Tar Bz2

Otro algoritmo popular para comprimir archivos tar es bzip2. Al comprimir archivos tar con bzip2, el nombre del archivo debe terminar con tar.bz2 o tbz.

Cuando se especifica la opción -j bzip2 para comprimir el archivo. El siguiente comando creará un tar.bz2 de los archivos indicados:

tar -cjf archive.tar.bz2 file1 file2

Lista de archivos tar

Cuando se usa con la --list ( -t ), el tar listará el contenido de un archivo tar sin extraerlo. El siguiente comando enumerará el contenido del archivo archive.tar

tar -tf archive.tar

La salida mostrará los nombres de todos los archivos en el archivo:

file1
 file2
 file3

Para obtener más información como el propietario del archivo, el tamaño del archivo, la marca de tiempo, use la --verbose ( -v ):

tar -tvf archive.tar
-rw-r--r-- noviello/users 0 2018-09-08 01:19 file1
 -rw-r--r-- noviello/users 0 2018-09-08 01:19 file2
 -rw-r--r-- noviello/users 0 2018-09-08 01:19 file3

Extracción de archivos de alquitrán

La mayoría de los archivos almacenados en Linux se archivan y comprimen usando un formato tar o tar.gz. Es importante saber cómo extraer estos archivos desde la línea de comandos.

Para extraer un archivo tar, use la --extract ( -x ) seguida del nombre del archivo:

tar -xf archive.tar

También es común agregar la -v para imprimir los nombres de los archivos a extraer.

tar -xvf archive.tar

Extraiga el archivo Tar en un directorio diferente

De forma predeterminada, tar extraerá el contenido del archivo en el directorio de trabajo actual. Utilice la --directory ( -C ) para extraer los archivos de almacenamiento a un directorio específico:

Por ejemplo, para extraer el contenido del archivo al /opt/files, puede usar:

tar -xf archive.tar -C /opt/files

Extracción de archivos Tar Gz y Tar Bz2

Al extraer archivos comprimidos como tar.gz o tar.bz2 no es necesario especificar una opción de descompresión. El comando es lo mismo que extraer con el comando tar

tar -xf archive.tar.gz
tar -xf archive.tar.bz2

Extraiga archivos específicos de un archivo Tar

A veces, en lugar de extraer todo el archivo, es posible que deba extraer solo unos pocos archivos.

Para extraer uno o más archivos específicos de un archivo tar, agregue una lista de nombres de archivo separados por espacios para extraer después del nombre del archivo:

tar -xf archive.tar file1 file2

Al extraer los archivos, debe proporcionar los nombres exactos, incluida la ruta, impresa por --list ( -t ).

Extraer uno o más directorios de un archivo es equivalente a extraer archivos:

tar -xf archive.tar dir1 dir2

Si intenta extraer un archivo que no existe, se mostrará un mensaje de error similar al siguiente:

tar -xf archive.tar README
tar: README: Not found in archive
 tar: Exiting with failure status due to previous errors

Extraer archivos de un archivo Tar usando comodines

Para extraer archivos de un archivo basado en un patrón comodín, use la --wildcards y cite el patrón para evitar que el shell lo interprete.

Por ejemplo, para extraer archivos cuyo nombre termine en .js (archivo Javascript), puede usar:

tar -xf archive.tar --wildcards '*.js'

Agregar archivos al archivo tar existente

Para agregar archivos o directorios a un archivo tar existente, use la --append ( -r ).

Por ejemplo, para agregar un archivo llamado newfile a archive.tar, ejecute:

tar -rvf archive.tar newfile

Eliminar archivos de un archivo Tar

Utilice la --delete para eliminar archivos de un archivo.

El siguiente ejemplo muestra cómo eliminar el file1 de archive.tar:

tar --delete -f archive.tar file1

Conclusión

Los usos más comunes del tar son crear y extraer un archivo tar. Cuando extraiga un archivo, use el tar -xf seguido del nombre del archivo y para crear uno nuevo, use tar -czf y el nombre del archivo.

Para obtener más información sobre el comando tar, consulte la página de documentación de Gnu tar.

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.