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.