16 comandos Tar para comprimir y extraer archivos en Linux
Tar es una herramienta de línea de comandos que se utiliza para crear y manipular archivos de almacenamiento en sistemas Linux y Unix. El comando Tar crea un archivo .tar y luego lo comprime usando gzip o bzip2.
Puede crear un solo archivo comprimido con un comando para obtener el archivo .tar.gz o los archivos .tar.bz2. El comando Tar también se puede utilizar para extraer archivos archivados.
Veamos el comando tar en acción a través de algunos ejemplos prácticos.
1) Crear archivo de archivo .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/
Dónde ‘/ruta / a / foo.tar ‘ es la ubicación del archivo tar resultante y ‘/ ruta / a / foo’ es la ubicación del archivo o directorio que se utilizará como entrada.
Ejemplo
$ tar -cvf powerlog.tar powerlog a powerlog $ ls powerlog powerlog.tar
Puede utilizar una ruta absoluta en lugar de relativa como se muestra en el ejemplo.
2) Crea 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 ‘/path/to/foo.tgz’ es el archivo comprimido de destino y ‘/ ruta / a / foo/ ‘es el directorio de origen o el archivo que se va a comprimir.
3) Cree un archivo .bz2
La opción -j
se utiliza para trabajar con archivos .bz2.
$ tar -cjvf /path/to/foo.tgz /path/to/foo/
4) Cree un archivo .gz y excluya
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) Utilice alquitrán sin una ruta absoluta en la compresión
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 comenzando con una ‘i’.
# tar -cvf fullbackup.tar i* install.log install.log.syslog
7) Agregar un nuevo archivo al archivo tar existente
Agregue un archivo o agregue un nuevo archivo 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 la opción de concatenar
# 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. P.ej
$ tar -xvf powerlog.tar x powerlog/
10) Extraiga un archivo .gz
Para extraer un .gz
archive, usamos la sintaxis del comando:
$ tar -xzvf /path/to/foo.tgz
Donde ‘/path/to/foo.tgz’ es la ruta absoluta o relativa al archivo comprimido.
11) Extraiga 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 un -j
opción. Tar detectará automáticamente el formato y lo descomprimirá.
12) Extraiga un .tar en el directorio especificado
Para extraer un archivo tar en un directorio específico, use -C
opción para proporcionar directorio de destino.
$ tar -xvf /path/to/foo.tar -C /path/to/destination/
13) Extraer 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) Enumere el contenido del archivo .gz
Suponga 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 expediente
15) Lista de contenido del archivo .bz2
Si solo desea ver el contenido de .bz2
archivar sin extraer, use el comando:
$ tar -jtvf /path/to/foo.tgz
16) Conservar enlaces simbólicos usando el comando tar
Usar alquitrán -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 de alquitrán más 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 de almacenamiento.- 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
: 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
: Extrae el archivo de almacenamiento al disco.
Para todas las operaciones de alquitrán, la utilidad sale con un 0
sobre el éxito, y >0
si ocurre un error. Es importante comprender esto si está usando 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: