GNU/Linux >> Tutoriales Linux >  >> Linux

15 usos del comando Tar en Linux con ejemplos

Alquitrán es una gran utilidad que se utiliza para recopilar varios archivos en un solo archivo. Este archivo a menudo se denomina "tarball". Hoy vamos a hablarte de las diferentes cosas que puedes hacer con tarballs usando el tar comando, con ejemplos prácticos.

Tar se usa principalmente para empaquetar aplicaciones y sus binarios para una instalación sin procesar que funcionaría en cualquier sistema, en lugar de formatos específicos básicos como paquetes DEB, RPM o AUR. Aparte de eso, tar también es un formato bastante eficiente para crear copias de seguridad.

NOTA: Todos los -f las etiquetas utilizadas en cualquier lugar son necesarias cada vez que interactúan con cualquier "archivo", que es casi todos los casos.

Uso del comando Tar en Linux

1. –lista

Esta bandera se usa para listar los archivos dentro de un tarball. El argumento requerido es solo el nombre del tarball y (como se mencionó), el -f bandera. La sintaxis estándar se ve así:

tar --list -f <Tarball name>

En forma más corta:

tar tf <Tarball name>

2. –crear

El indicador –create se usa para crear un nuevo tarball. Los argumentos necesarios son el nombre del (futuro) tarball y los archivos que se incluirán. Los nombres de los directorios también son aceptables como argumento. El formato estándar es:

tar --create -f <Required tarball name> <File names>

Esto se puede usar en forma abreviada de la siguiente manera:

tar cf <Required tarball name> <File names>

Crear otros formatos de archivo

Hay diferentes formatos de archivo que se incluyen en tar, que se utilizan para la compresión. Los formatos que vamos a mostrar son los .tar.xz y .tar.gz formatos.

Crear un XZ (.tar.xz ) archivo

tar cfJ <Required tarball name> <File names>

Crear un GZip (.tar.gz ) archivo

tar cfz <Required tarball name> <File names>

Crear un archivo bzip2 (.tar.bz2)

tar cfj <Required tarball name> <File names>

3. –añadir

El indicador –append se usa para agregar archivos a un tarball ya existente. La sintaxis es bastante simple, es decir:

tar --append -f <Tarball name> <Names of files to be added>

Más corto:

tar rf <Tarball name> <Names of files to be added>

4. –eliminar

Esto se utiliza para eliminar archivos de un tarball. La sintaxis requiere el nombre del tarball y el nombre del archivo en el siguiente orden:

tar --delete -f <Name of tarball> <Names of files>

5. –dif

La –diferencia flag encuentra las diferencias entre un tarball y ciertos archivos que el usuario tiene que especificar. Por ejemplo, como se mencionó anteriormente, tar se usa ampliamente para crear copias de seguridad. Entonces, si hay un tarball existente y desea verificar si hay o no diferencias entre el estado actual de los archivos, en comparación con los que ya están en el tarball, puede usar –diff .

Ejemplo:

En esta situación, el archivo test en el tarball test.tar está vacío, pero el que está fuera del tarball tiene el contenido que se muestra. Observe las diferencias demostradas por tar .

Como puede ver aquí, el error que se muestra entre la prueba vacía y la prueba no vacía es 'El tamaño difiere,' pero incluso cuando el tamaño es el mismo, se emite un error:

En conclusión, la sintaxis general se puede mostrar como:

tar --diff -f <Name of tarball> <Names of files to be compared>

6. –actualizar

Esta bandera se puede utilizar para actualizar un archivo específico dentro del tarball. Si se coloca un archivo con el mismo nombre en este comando, el archivo con el nuevo contenido se agregará al final del archivo, en lugar de reemplazar el anterior por la última versión. La siguiente captura de pantalla describe esto:

Nuevamente, esto se puede usar en el caso de hacer copias de seguridad. La sintaxis general se convierte en:

tar --update -f <Tarball name> <Names of files to be updated>

Formato más corto:

tar uf <Tarball name> <Names of files to be updated>

7. –extraer

Esta es probablemente la bandera más utilizada del comando tar. Se usa para extraer archivos de un tarball, y dado que es así, también tiene muchas configuraciones. Para variar, los argumentos excepto el nombre tarball son opcionales. Si no se especifica, tar extraerá todos los archivos dentro del tarball. Entonces, la sintaxis para extraer archivos específicos:

tar --extract -f <Tarball name> <File names>

Para extraer todos los archivos:

tar --extract -f <Tarball name>

O un formato más corto:

tar xf <Tarball name> <Optional file names>

Extracción de GZip (.tar.gz ) archivos

tar zxf <Tarball name> <Optional file names>

Extracción de XZ (.tar.xz ) archivos tar

tar xf <Tarball name> <Optional file names>

Extracción de archivos bzip2 (.tar.bz2)

tar xjf <Tarball name> <Optional file names>

Ahora, después de manejar los conceptos básicos, podemos profundizar en algunas características de tar .

8. Control de sobrescritura

Puede suceder que los nombres de uno o más de los archivos que se extraen de un tarball coincidan con el nombre de los archivos que ya existen en el directorio de trabajo. Se pueden tomar algunas medidas para hacer lo que desea cuando eso suceda. Varios escenarios:

Para sobrescribir los archivos

El primer caso es que desea reemplazar los archivos existentes en el directorio. Para asegurarse de que esto suceda, emita el comando de la siguiente manera:

tar --extract -f <Tarball name> <Optional file names> --overwrite

Para no sobrescribir archivos

Esto no sobrescribirá los archivos, diciendo que los archivos ya existen. El comando se puede emitir de la siguiente manera:

tar --extract -f <Tarball name> <Optional file names> -keep-old-files

Solo sobrescribir archivos antiguos

Esto es particularmente útil, ya que solo protege aquellos archivos que son más nuevos en comparación con los archivos del archivo. Por ejemplo, aquí, prueba2 dentro del archivo tiene contenido que ha sido modificado en comparación con test2 en el directorio:

Como puede ver, dice '... es más nuevo o de la misma edad ‘ para el resto de los archivos, pero no test2 , que significa prueba2 fue remplazado. Por lo tanto, la estructura del comando es:

tar --extract -f <Tarball Name> <Optional file names> --keep-newer-files

9. –eliminar archivos

Este indicador se puede utilizar como acceso directo para eliminar archivos del directorio directamente después de que se hayan archivado. Es un comando bastante simple, la sintaxis sigue:

tar --create -f < Required tarball name> <File names> --remove-files

10. –excluir

El indicador –exclude se puede usar para excluir ciertos archivos del archivado. El patrón debe especificarse antes que nada, y entre comillas, como se usa en el siguiente comando:

tar --exclude='PATTERN' --create -f <Tarball name required> <File names>

Ejemplo de uso:

11. –a-comando='COMANDO'

El comando tar tiene su función para usar la salida como entrada para otro comando, es decir, –to-command bandera. Por ejemplo, quiero usar los nombres de los archivos de test2.tar y crear un directorio con el mismo nombre que el de los archivos dentro del archivo. Esto se puede hacer como:

tar xf test2.tar --to-command='mkdir $TAR_REALNAME'

Esto es bastante avanzado. El '$ ‘ es necesario para hacer referencia a cualquier variable del sistema mientras se usa Bash. El nombre 'TAR_NOMBRE REAL ‘ es la variable que se usa para hacer referencia al nombre de un solo archivo mientras se usa el comando –to-command bandera en tar . Hay varias variables de este tipo, que se pueden encontrar en el man páginas de tar , así como en esta página web.

12. Propiedad de los archivos

La propiedad de los archivos en el archivo se puede configurar de varias maneras. En primer lugar, para crear un archivo en el que los archivos estén asignados a un propietario específico, la marca –propietario puede ser usado. Ejemplo de uso:

Como se ve, el usuario 0 y el grupo 0 corresponden al usuario root . Raíz (como probablemente sepas) es el emperador supremo del sistema. Puede encontrar el UID (ID de usuario) y el GID (ID de grupo) de otros usuarios usando el comando id de la siguiente manera:

id <username>

Ahora, para extraer los archivos conservando los propietarios del archivo:

tar xf <Tarball name> --same-owner

13. Solución de copia de seguridad completa

Como ya he mencionado varias veces, tar es un buen programa de copia de seguridad. Te voy a hablar de algunas banderas más que lo hacen aún mejor. En primer lugar, hay cosas que queremos incluir/excluir al hacer copias de seguridad. Incluya los archivos a los que apuntan los enlaces (enlaces simbólicos). Excluir archivos de copia de seguridad anteriores y directorios VCS (en su mayoría solo útiles para programadores). También es importante mantenerse alejado de los directorios de los que está haciendo una copia de seguridad.

Por ejemplo, estás en /home directorio, y desea hacer una copia de seguridad del usuario, testuser. El comando se vería así:

sudo tar --exclude-backups --exclude-vcs --dereference --create -f backup.tar ./testuser
  • ‘sudo’ por dos razones:primero, que está haciendo cosas en el directorio /home, que requiere privilegios. En segundo lugar, si algún enlace simbólico apunta a archivos fuera de los privilegios habituales del usuario, se producirá un error.
  • –excluir copias de seguridad y –exclude-vcs excluir los archivos de copia de seguridad y VCS respectivamente.
  • –desreferencia hace alquitrán siga los enlaces simbólicos a los datos a los que apuntan.

14. Hora modificada

Hay muchas cosas que se pueden hacer con el tiempo de modificación de un archivo. En primer lugar, para cambiar la fecha de modificación a medida que se archiva un archivo, podemos usar –mtime bandera. Sintaxis básica:

tar --create -f <Required tarball name> <File names> --mtime=YYYY-MM-DD

Como antídoto a esto, se puede usar el indicador -m para obtener la fecha de modificación sin cambios. Para usar esto:

tar xf <Tarball name> -m

Actúa solo en archivos modificados después de una fecha específica

Esta forma del comando se puede usar para actuar sobre archivos que han sido modificados después de una fecha específica. El comando se parece a:

tar xf <Tarball name> --newer-mtime=YYYY-MM-DD

El ejemplo de uso se muestra a continuación.

15. Permisos

Finalmente, los permisos se pueden configurar bastante bien en el caso de tar archivos Hay dos variaciones significativas:

Preservar los permisos originales

Esto se puede usar para conservar los permisos para el archivo, como se menciona en el archivo después de extraerlo. Esto se logra a través de un comando de este tipo:

tar xf <Tarball name> --preserve-permissions

Modificar el permiso como valor predeterminado

En segundo lugar, los permisos se pueden cambiar como el umask predeterminado. valores. El valor predeterminado varía según los sistemas. Para hacer eso, ingrese el siguiente comando:

tar xf <Tarball name> --no-same-permissions

Conclusión

El comando tar es mucho más de lo que parece. Tiene un amplio espectro de usos, desde empaquetar aplicaciones, crear copias de seguridad, hasta almacenar sistemas operativos completos. Esperamos que el tutorial te haya ayudado a aprender cosas nuevas y emocionantes sobre tar . Para cualquier pregunta, no dude en utilizar la sección de comentarios.


Linux
  1. Comando wc Linux con ejemplos

  2. Comando Linux Tee con ejemplos

  3. Comando de cabeza de Linux con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Ejemplos de comandos tar en Linux

Comando ip de Linux con ejemplos

Comando Tr en Linux con ejemplos

15 comandos ps de Linux con ejemplos

Comando de CD de Linux con ejemplos

Comando de vigilancia de Linux con ejemplos

Comando IP de Linux con ejemplos