Tar es una herramienta de línea de comandos utilizada para crear y manipular archivos de almacenamiento en sistemas Linux y Unix. El comando tar crea un archivo de almacenamiento .tar y luego lo comprime usando gzip o bzip2.
Puede crear un solo archivo comprimido archivado usando un comando para obtener el archivo .tar.gz o los archivos .tar.bz2. El comando tar también se puede usar para extraer archivos comprimidos.
Veamos el comando tar en acción a través de algunos ejemplos prácticos.
1) Crear un archivo de almacenamiento .tar
Para crear un tar sin comprimir (.tar), use la opción -c con el comando tar de la siguiente manera:
$ tar -cvf /path/to/foo.tar /path/to/foo/
Donde '/ruta/hacia/foo.tar' es la ubicación del archivo tar resultante y '/path/to/foo' es la ubicación del archivo o directorio que se usará como entrada.
Ejemplo
$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar
Puede usar una ruta absoluta en lugar de relativa como se muestra en el ejemplo.
2) Crear un archivo .gz con tar
La sintaxis del comando para crear un .gz
archivo con tar es:
$ tar -czvf /path/to/foo.tgz /path/to/foo/
Donde '/ruta/a/foo.tgz' es el archivo comprimido de destino y '/ruta/a/foo /' es el directorio o archivo de origen que se va a comprimir.
3) Crear un archivo .bz2
La opción -j
se utiliza para trabajar con archivos .bz2.
$ tar -cjvf /path/to/foo.tgz /path/to/foo/
4) Crear un archivo .gz y excluir
Usamos --exclude
tar para excluir una extensión específica o una lista de extensiones de archivo. La sintaxis es similar a la siguiente:
$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.
5) Usar tar sin ruta absoluta en compres
Cuando usa tar para comprimir archivos y proporciona una ruta absoluta, un archivo comprimido tendrá una ruta completa en sus metadatos, por lo que cuando extraiga el contenido, estará en directorios similares a la ruta absoluta que se pasó. Para evitar esto, agregue un . al final del comando.
$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .
6) Tar todos los archivos que comienzan con una letra específica
Cree un archivo tar de todo en el directorio actual que comience con una 'i'.
# tar -cvf fullbackup.tar i*
install.log
install.log.syslog
7) Agregar nuevo archivo al archivo tar existente
Agregue un archivo o agregue un archivo nuevo al archivo tar existente.
# tar --append --file=backup.tar anaconda-ks.cfg
El comando anterior agregará un archivo anaconda-ks.cfg en el archivo backup.tar
8) Agregar dos archivos de almacenamiento con opción de concatenación
# tar --concatenate --file=backup.tar fullbackup.tar
El comando anterior agrega el contenido de fullbackup.tar al archivo backup.tar.
9) Extraiga el archivo de almacenamiento .tar
Para extraer un archivo sin comprimir que a menudo tiene una extensión .tar
, la sintaxis del comando es:
$ tar -xvf /path/to/foo.tar
Donde /path/to/foo.tar es la ruta absoluta/relativa a la ubicación de un archivo tar. Por ejemplo
$ tar -xvf powerlog.tar
x powerlog/
10) Extraer un archivo .gz
Para extraer un .gz
archivo, usamos la sintaxis del comando:
$ tar -xzvf /path/to/foo.tgz
Donde '/ruta/a/foo.tgz' es la ruta absoluta o relativa al archivo comprimido.
11) Extraer un archivo .bz2
La sintaxis del comando para extraer un .bz2
el archivo es
$ tar -xjvf /path/to/foo.bz2
Tenga en cuenta que puede pasar un archivo .tgz siempre que esté comprimido con -j
opción. Tar detectará automáticamente el formato y lo descomprimirá.
12) Extraer un .tar en el directorio especificado
Para extraer un archivo tar a un directorio específico, use -C
opción para proporcionar el directorio de destino.
$ tar -xvf /path/to/foo.tar -C /path/to/destination/
13) Extraer el archivo del archivo tar
El siguiente comando extrae el archivo 'anaconda-ks.cfg' en el archivo 'backup.tar'.
# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg
14) Listar el contenido del archivo .gz
Supongamos que solo desea ver el contenido de un .tgz
archivo sin extraerlos, usará la sintaxis del comando:
$ tar -ztvf /path/to/foo.tgz
Simplemente reemplace '/path/to/foo.tgz' con la ruta correcta de su .tgz archivo
15) Listar el contenido del archivo de almacenamiento .bz2
Si solo desea ver el contenido de .bz2
archivar sin extraer, use el comando:
$ tar -jtvf /path/to/foo.tgz
16) Preservar enlaces simbólicos usando el comando tar
Utilice tar -cvhf
para preservar mis enlaces simbólicos al generar un archivo tar (Use la opción "h" para eso).
Conclusión
Es difícil recordar todas las opciones del comando tar. A continuación se muestra una lista de las opciones tar comúnmente utilizadas.
- j
:Se utiliza para filtrar el archivo a través de bzip2.
- v
:Ejecute el comando en modo detallado para mostrar el progreso del archivo comprimido.
- f
:Especifique el nombre del archivo de almacenamiento.
- W
:Se utiliza para verificar un archivo de almacenamiento.
- z
:filtrar un archivo a través de la herramienta gzip.
- t
:Esto se utiliza para ver el contenido del archivo de almacenamiento.
-c
:crea un nuevo archivo que contiene los elementos especificados.
-r
:se utiliza para agregar o actualizar un archivo existente con archivos o directorios
- t
:Muestra el contenido de un archivo en stdout.
-u
:Como -r, pero las nuevas entradas se agregan solo si tienen una fecha de modificación más reciente que la entrada correspondiente en el archivo.
-x
:Extraiga el archivo comprimido al disco.
Para todas las operaciones tar, la utilidad sale con un 0
en caso de éxito, y >0
si ocurre un error. Es importante comprender esto si está utilizando tar con un script.
Espero que hayas disfrutado leyendo este tutorial sobre el comando tar. Deje sus sugerencias en la sección de comentarios a continuación.
Leer también:
- Cómo conservar enlaces simbólicos en Tar Command