GNU/Linux >> Tutoriales Linux >  >> Linux

17 Comando Tar Útil con Ejemplos Prácticos en Linux

Tar es el comando más utilizado en sistemas operativos similares a Unix y Linux para crear un archivo de múltiples archivos y carpetas en un solo archivo y ese archivo puede comprimirse aún más usando  gzip y bzip2 tecnicas En otras palabras, podemos decir que el comando tar se usa para realizar una copia de seguridad al archivar varios archivos y directorios en un solo tar o archivo de almacenamiento y, más adelante, los archivos y directorios se pueden extraer del archivo tar comprimido.

En este artículo, discutiremos el comando tar de Linux con 17 ejemplos útiles

Sintaxis del comando tar:

# tar

Algunas de las opciones comúnmente utilizadas en el comando tar se enumeran a continuación:

Nota: guión (-) en las opciones del comando tar son opcionales.

Ejemplo 1) Crear un archivo tar

Vamos a crear un archivo tar del directorio /etc y el archivo '/root/anaconda-ks.cfg'.

[[email protected] ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg

El comando anterior creará un archivo tar con el nombre "myarchive ” en la carpeta actual. El archivo tar contiene todos los archivos y directorios de /etc carpeta y anaconda-ks.cfg archivo.

En el comando tar ‘-c ' opción especificar para crear un archivo tar, '-v' se usa para salida detallada y '-f' La opción se utiliza para especificar el nombre del archivo de almacenamiento.

[[email protected] ~]# ls -l myarchive.tar
-rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar
[[email protected] ~]#

Ejemplo 2) Muestra el contenido del archivo de almacenamiento

Usando '–t ‘ opción en el comando tar podemos ver el contenido de los archivos tar sin extraerlo.

[[email protected] ~]# tar -tvf myarchive.tar

Listado de un archivo o directorio específico del archivo tar. En el siguiente ejemplo, intento ver si el archivo 'anaconda-ks.cfg' está en el archivo tar o no.

[[email protected] ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg
-rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg
[[email protected] ~]#

Ejemplo 3)  Adjuntar o agregar archivos al final del archivo

'-r La opción 'en el comando tar se usa para agregar o agregar un archivo a un archivo tar existente. Agreguemos el archivo /etc/fstab en 'data.tar

[[email protected] ~]# tar -rvf data.tar /etc/fstab

Nota: En el archivo tar comprimido no podemos agregar un archivo o directorio.

Ejemplo 4)  Extraer archivos y directorios del archivo de almacenamiento

'-x La opción ‘ se utiliza para extraer los archivos y directorios del archivo tar. Extraigamos el contenido del archivo tar creado anteriormente.

[[email protected] ~]# tar -xvf myarchive.tar

El comando anterior extraerá todos los archivos y directorios del archivo tar myarchive en el directorio de trabajo actual.

Ejemplo 5) Extraiga el archivo tar a una carpeta en particular

En caso de que desee extraer el archivo tar a una carpeta o directorio en particular, use '-C ‘opción seguida de la ruta de una carpeta. El ejemplo se muestra a continuación

[[email protected] ~]# tar -xvf myarchive.tar -C /tmp/

Ejemplo 6)  Extraer un archivo o directorio particular del archivo tar

Supongamos que desea extraer solo el archivo anaconda-ks.cfg del archivo tar en la carpeta /tmp.

Sintaxis :

# tar –xvf {archivo-tar } {archivo-a-ser-extraído } -C {ruta-dónde-extraer}

[[email protected] tmp]# tar -xvf /root/myarchive.tar root/anaconda-ks.cfg -C /tmp/
root/anaconda-ks.cfg
[[email protected] tmp]# ls -l /tmp/root/anaconda-ks.cfg
-rw-------. 1 root root 953 Aug 24 01:33 /tmp/root/anaconda-ks.cfg
[[email protected] tmp]#

Ejemplo 7) Crear y comprimir archivo (gzip)

Supongamos que queremos crear un archivo tar de la carpeta /etc y /opt y también queremos comprimirlo usando la herramienta gzip. Esto se puede lograr usando '-z 'opción en el comando tar. Las extensiones de dichos archivos tar serán tar.gz o .tgz

[[email protected] ~]# tar -zcpvf myarchive.tar.gz /etc/ /opt/
Or
[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/

Ejemplo 8) Crear y comprimir archivo de almacenamiento (bzip2)

Supongamos que queremos crear un archivo tar comprimido (bzip2) de /etc y la carpeta /opt. Esto se puede lograr usando la opción ( -j ) en el comando tar. Las extensiones de dichos archivos tar serán tar.bz2 o .tbz

[[email protected] ~]# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/
Or
[[email protected] ~]# tar -jcpvf myarchive.tbz2 /etc/ /opt/

Ejemplo 9)  Excluye archivos o tipos particulares al crear un archivo tar

Usando “–excluir ” en el comando tar podemos excluir el archivo o tipo de archivo en particular al crear el archivo tar. Supongamos que queremos excluir el tipo de archivo html al crear el archivo tar comprimido.

[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html

Ejemplo 10) Muestra el contenido del archivo tar.gz o .tgz

El contenido del archivo tar con las extensiones tar.gz o .tgz se ve usando la opción '-t '. El ejemplo se muestra a continuación:

[[email protected] ~]# tar -tvf myarchive.tgz  | more 
............................................. 
drwxr-xr-x root/root         0 2016-09-07 08:41 etc/ 
-rw-r--r-- root/root       541 2016-08-24 01:23 etc/fstab 
-rw------- root/root         0 2016-08-24 01:23 etc/crypttab 
lrwxrwxrwx root/root         0 2016-08-24 01:23 etc/mtab -> /proc/self/mounts 
-rw-r--r-- root/root       149 2016-09-07 08:41 etc/resolv.conf 
drwxr-xr-x root/root         0 2016-09-06 03:55 etc/pki/ 
drwxr-xr-x root/root         0 2016-09-06 03:15 etc/pki/rpm-gpg/ 
..........................................................

Ejemplo 11)  Muestra el contenido del archivo tar.bz2 o .tbz2

El contenido del archivo tar con las extensiones .bz2 o .tbz2 se ve usando la opción '-t'. El ejemplo se muestra a continuación:

[[email protected] ~]# tar -tvf myarchive.tbz2  | more 
........................................................ 
rwxr-xr-x root/root         0 2016-08-24 01:25 etc/pki/java/ 
drwxr-xr-x root/root         0 2016-09-06 02:54 etc/pki/nssdb/ 
-rw-r--r-- root/root     65536 2010-01-12 15:09 etc/pki/nssdb/cert8.db 
-rw-r--r-- root/root      9216 2016-09-06 02:54 etc/pki/nssdb/cert9.db 
-rw-r--r-- root/root     16384 2010-01-12 16:21 etc/pki/nssdb/key3.db 
-rw-r--r-- root/root     11264 2016-09-06 02:54 etc/pki/nssdb/key4.db 
-rw-r--r-- root/root       451 2015-10-21 09:42 etc/pki/nssdb/pkcs11.txt 
-rw-r--r-- root/root     16384 2010-01-12 15:45 etc/pki/nssdb/secmod.db 
drwxr-xr-x root/root         0 2016-08-24 01:26 etc/pki/CA/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/certs/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/crl/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/newcerts/ 
drwx------ root/root         0 2015-06-29 08:48 etc/pki/CA/private/ 
drwx------ root/root         0 2015-11-20 06:34 etc/pki/rsyslog/ 
drwxr-xr-x root/root         0 2016-09-06 03:44 etc/pki/pulp/ 
..............................................................

Ejemplo 12)  Extraer archivo comprimido (tar.gz o .tgz)

Los archivos tar con extensión tar.gz o .tgz se extraen o descomprimen con la opción '-x ' y '-z '. El ejemplo se muestra a continuación:

[[email protected] ~]# tar -zxpvf myarchive.tgz -C /tmp/

El comando anterior extraerá el archivo tar en la carpeta /tmp.

Nota: Ahora, un comando tar de días se ocupará de los tipos de archivo de compresión automáticamente durante la extracción, lo que significa que es opcional para nosotros especificar el tipo de compresión en el comando tar. El ejemplo se muestra a continuación:

[[email protected] ~]# tar -xpvf myarchive.tgz -C /tmp/

Ejemplo 13) Extraer o descomprimir archivos tar.bz2 o .tbz2

Los archivos tar con la extensión tar.bz2 o .tbz2 se extraen con la opción '-j ' y '-x '. A continuación se muestra un ejemplo:

[[email protected] ~]# tar -jxpvf myarchive.tbz2 -C /tmp/

O

[[email protected] ~]# tar xpvf myarchive.tbz2 -C /tmp/

Ejemplo 14)  Programación de una copia de seguridad con el comando tar

Hay algunos escenarios en tiempo real en los que tenemos que crear archivos tar de archivos y directorios particulares para realizar copias de seguridad diariamente. Supongamos que tenemos que hacer una copia de seguridad de la carpeta /opt completa a diario, esto se puede lograr creando un trabajo cron del comando tar. El ejemplo se muestra a continuación:

[[email protected] ~]# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

Cree un trabajo cron para el comando anterior.

Ejemplo 15) Crear y comprimir un archivo con las opciones -T y -X

Hay algunos escenarios en tiempo real en los que queremos que el comando tar tome la entrada de un archivo y ese archivo consistirá en la ruta de los archivos y el directorio que se archivarán y comprimirán, puede haber algunos archivos que nos gustaría excluir en el archivo que se mencionan en el archivo de entrada.

En el archivo de entrada del comando tar se especifica después de '-T ' La opción y el archivo que consiste en una lista de exclusión se especifica después de '-X ' opción.

Supongamos que queremos archivar y comprimir los directorios como /etc , /optar y /inicio y desea excluir el archivo '/etc/sysconfig/kdump' y '/etc/sysconfig/foreman ‘, Crear un archivo de texto ‘/root/tar-include ' y '/root/tar-exclude ' y coloque los siguientes contenidos en el archivo respectivo.

[[email protected] ~]# cat /root/tar-include
/etc
/opt
/home
[[email protected] ~]#
[[email protected] ~]# cat /root/tar-exclude
/etc/sysconfig/kdump
/etc/sysconfig/foreman
[[email protected] ~]#

Ahora ejecute el siguiente comando para crear y comprimir el archivo de almacenamiento.

# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude

Ejemplo 16) Ver el tamaño de los archivos .tar, .tgz y .tbz2

Use los siguientes comandos para ver el tamaño de los archivos tar y tar comprimidos.

[[email protected] ~]# tar -czf - data.tar | wc -c
427
[[email protected] ~]# tar -czf - mybackup-2016-09-09.tgz | wc -c
37956009
[[email protected] ~]# tar -czf - myarchive.tbz2 | wc -c
30835317
[[email protected] ~]#

Ejemplo 17) Dividir un archivo tar grande en archivos más pequeños

En Linux, como el sistema operativo, el archivo grande se divide o se divide en archivos más pequeños usando el comando dividir. El archivo tar grande también se puede dividir en partes más pequeñas usando el comando dividir.

Supongamos que queremos dividir 'mybackup-2016-09-09.tgz ‘ archivo en partes más pequeñas de cada 6 MB.

Sintaxis: split -b . “nombre-prefijo”

[[email protected] ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts

El comando anterior dividirá el archivo tar comprimido de mybackup en archivos más pequeños, cada uno con un tamaño de 6 MB en el directorio de trabajo actual y los nombres de los archivos divididos comenzarán desde mybackup-partsaa … mybackup-partsag. En caso de que desee agregar números en lugar de alfabetos, use la opción '-d' en el comando de división anterior.

[[email protected] ~]# ls -l mybackup-parts*
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf
-rw-r--r--. 1 root root 637219  Sep 10 03:05 mybackup-partsag
[[email protected] ~]#

Ahora podemos mover estos archivos a otro servidor a través de la red y luego podemos fusionar todos los archivos en un solo archivo tar comprimido usando el comando mencionado a continuación.

[[email protected] ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz
[[email protected] ~]#

Eso es todo, espero que les gusten los diferentes ejemplos del comando tar. Comparta sus opiniones y comentarios.

Leer tambiénCómo automatizar tareas en Linux usando Crontab

Leer también: 9 ejemplos de comandos 'diff' en Linux


Linux
  1. Comando wc Linux con ejemplos

  2. 25 ejemplos prácticos útiles del comando find en Linux

  3. Ordenar comando en Linux con ejemplos

  4. 5 ejemplos prácticos de Head Command en Linux

  5. 14 ejemplos útiles de comandos "cat" en Linux

Comando WC de Linux con ejemplos

9 ejemplos útiles de Touch Command en Linux

Uso del comando Linux mv con ejemplos

Comando de montaje de Linux con ejemplos

Comando gawk de Linux con ejemplos

Comando make de Linux con ejemplos