El tar
El comando crea archivos tar al convertir un grupo de archivos en un archivo. También puede extraer archivos tar, mostrar una lista de los archivos incluidos en el archivo, agregar archivos adicionales a un archivo existente y varios otros tipos de operaciones.
Tar se diseñó originalmente para crear archivos para almacenar archivos en cinta magnética, por lo que tiene su nombre "T simio AR cebollino”.
Este artículo muestra cómo usar el tar
comando para extraer, enumerar y crear archivos tar a través de ejemplos prácticos y explicaciones detalladas de las opciones tar más comunes.
tar
Sintaxis del comando #
Hay dos versiones de tar, BSD tar y GNU tar, con algunas diferencias funcionales. La mayoría de los sistemas Linux vienen con GNU tar preinstalado de forma predeterminada.
La sintaxis general para tar
El comando es el 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
) - Crear un nuevo archivo tar.--extract
(-x
) - Extraiga el archivo completo o uno o más archivos de un archivo.--list
(-t
) - Mostrar una lista de los archivos incluidos en el archivo
OPTIONS
- Las operaciones más utilizadas son:--verbose
(-v
) - Muestra los archivos procesados por el comando tar.--file=archive=name
(-f archive-name
) - Especifica el nombre del archivo de almacenamiento.
ARCHIVE_NAME
- El nombre del archivo.FILE_NAME(s)
- Una lista separada por espacios de nombres de archivos que se extraerán del archivo. Si no se proporciona, se extrae todo el archivo.
Al ejecutar comandos tar, puede usar la forma larga o corta de tar
operaciones y opciones. Los formularios largos son más legibles, mientras que los formularios cortos son más rápidos de escribir. Las opciones de formato largo tienen el prefijo de un guión doble (--
). Las opciones abreviadas tienen como prefijo un solo guión (-
), que se puede omitir.
Creando Archivo Tar #
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 comprimido. Por ejemplo, si un archivo ha sido comprimido con gzip
, debería llamarse archive.tar.gz.
Para crear un archivo tar, use -c
opción seguida de -f
y el nombre del archivo.
Por ejemplo, para crear un archivo llamado archive.tar
de los archivos llamados file1
, file2
, file3
, ejecutaría el siguiente comando:
tar -cf archive.tar file1 file2 file3
Aquí está el comando equivalente usando las opciones de formato largo:
tar --create --file=archive.tar file1 file2 file3
Puede crear archivos a partir del contenido de uno o más directorios o archivos. De forma predeterminada, los directorios se archivan recursivamente a menos que --no-recursion
se especifica la opción.
El siguiente ejemplo creará un archivo llamado user_backup.tar
del /home/user
directorio:
tar -cf backup.tar /home/user
Usa el -v
opción si desea ver los archivos que se están procesando.
Creación de 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
.
El -z
opción le dice a tar que comprima el archivo usando gzip
algoritmo a medida que se crea. Por ejemplo, para crear un archivo tar.gz a partir de archivos determinados, ejecutaría el siguiente comando:
tar -czf archive.tar.gz file1 file2
Creación de archivo Tar Bz2 #
Otro algoritmo popular para comprimir archivos tar es bzip2. Al usar bzip2, el nombre del archivo debe terminar con tar.bz2
o tbz
.
Para comprimir el archivo con bzip2
algoritmo, invoque tar
con el -j
opción. El siguiente comando crea un tar.bz2
archivo de los archivos dados:
tar -cjf archive.tar.bz2 file1 file2
Listado de archivos tar #
Cuando se usa con --list
(-t
), la opción tar
El comando enumera el contenido de un archivo tar sin extraerlo.
El siguiente comando enumerará el contenido del archive.tar
archivo:
tar -tf archive.tar
file1
file2
file3
Para obtener más información, como el propietario del archivo, el tamaño del archivo, la marca de tiempo, use --verbose
(-v
) opción:
tar -tvf archive.tar
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3
Extracción del archivo Tar #
La mayoría de los archivos archivados en Linux se archivan y comprimen en 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 --extract
(-x
) opción seguida del nombre del archivo:
tar -xf archive.tar
También es común agregar el -v
opción para imprimir los nombres de los archivos que se extraen.
tar -xvf archive.tar
Extracción de archivo Tar en un directorio diferente #
De forma predeterminada, tar extraerá el contenido del archivo en el directorio de trabajo actual. Usa el --directory
(-C
) para extraer archivos de almacenamiento en un directorio específico:
Por ejemplo, para extraer el contenido del archivo a /opt/files
directorio, 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 que especifique una opción de descompresión. El comando es el mismo que al extraer tar
archivo:
tar -xf archive.tar.gz
tar -xf archive.tar.bz2
Extracción de archivos específicos de un archivo Tar #
A veces, en lugar de extraer todo el archivo, es posible que deba extraer solo algunos archivos.
Para extraer archivos específicos de un archivo tar, agregue una lista de nombres de archivos separados por espacios para extraerlos después del nombre del archivo:
tar -xf archive.tar file1 file2
Al extraer archivos, debe proporcionar sus nombres exactos, incluida la ruta, tal como se muestra en --list
(-t
).
Extraer uno o más directorios de un archivo es lo mismo que extraer archivos:
tar -xf archive.tar dir1 dir2
Si intenta extraer un archivo que no existe, aparecerá 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
Extracción de archivos de un archivo Tar usando comodín #
Para extraer archivos de un archivo basado en un patrón de comodines, use --wildcards
cambiar y citar el patrón para evitar que el shell lo interprete.
Por ejemplo, para extraer archivos cuyos nombres terminan en .js
(archivos 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 --append
(-r
) operación.
Por ejemplo, para agregar un archivo llamado newfile
a archive.tar, ejecutaría:
tar -rvf archive.tar newfile
Eliminar archivos de un archivo Tar #
Usa el --delete
operación para eliminar archivos de un archivo.
El siguiente ejemplo muestra cómo eliminar el archivo file1
de archivo.tar,:
tar --delete -f archive.tar file1
Conclusión #
Los usos más comunes del tar
comando son para crear y extraer un archivo tar. Para extraer un archivo, use tar -xf
comando seguido del nombre del archivo, y para crear uno nuevo use tar -czf
seguido del nombre del archivo y los archivos y directorios que desea agregar al archivo.
Para obtener más información sobre el comando tar, consulte la página de documentación de Gnu tar.