15 uso del comando Tar en Linux con ejemplos

TArkansas 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 contarte las diferentes cosas que puedes hacer con tarballs utilizando el alquitrán comando, con ejemplos prácticos.

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

NOTA: Todos -F Las etiquetas utilizadas en cualquier lugar son necesarias siempre que se interactúe con cualquier "archivo", que es casi todos los casos.

Índice

Usando el 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 abreviada:

tar tf <Tarball name>

--lista
-lista

2. –crear

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

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

Esto se puede utilizar de forma abreviada de la siguiente manera:

tar cf <Required tarball name> <File names>

--crear
-crear

Creando 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.

Creando 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. –anexar

La bandera –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 corta:

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

--adjuntar
-adjuntar

4. –eliminar

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>

--Eliminar
-Eliminar

5. –diff

los –Diff flag encuentra las diferencias entre un tarball y ciertos archivos que el usuario debe 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 alguna diferencia 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 prueba en el tarball test.tar está vacío, pero el que está fuera del tarball tiene el contenido que se muestra. Note las diferencias demostradas por alquitrán.

--diff
–Diff

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

Contenido diferente
Contenido diferente

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 que el anterior sea reemplazado por la última versión. La siguiente captura de pantalla describe esto:

Actualizar
Actualizar

Nuevamente, esto se puede utilizar en el caso de realizar 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

Este es probablemente el indicador más utilizado del comando tar. Se usa para extraer archivos de un tarball y, dado que se usa así, también tiene muchas configuraciones. Para variar, los argumentos excepto el nombre del tarball son opcionales. Si no se especifica, alquitrán 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>

--extraer
-extraer

Extrayendo GZip (.tar.gz) archivos

tar zxf <Tarball name> <Optional file names>

Extrayendo XZ (.tar.xz) archivos de alquitrán

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 alquitrán.

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 desee 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

Para sobrescribir solo archivos más 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í, test2 dentro del archivo tiene contenido que ha sido modificado en comparación con test2 en el directorio:

--mantener-archivos-nuevos
–Mantener-archivos-nuevos

Como puede ver, dice '... es más nuevo o de la misma edad'para el resto de los archivos, pero no test2, lo que significa test2 fue remplazado. Por 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 es la siguiente:

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

--remove-files
–Remove-files

10. –excluir

La marca –exclude se puede utilizar para excluir determinados archivos del archivado. El patrón debe especificarse antes que cualquier otra cosa, y entre comillas, como se usa en el siguiente comando:

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

Uso de ejemplo:

--excluir
-excluir

11. –to-command = 'COMANDO'

El comando tar tiene su característica para usar la salida como entrada para otro comando, que es el –To-mandar 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'

- al mando
–To-mandar

Esto es bastante avanzado. Los 'PS'es necesario para hacer referencia a cualquier variable del sistema mientras se usa Bash. El nombre 'TAR_REALNAME'es la variable utilizada para referirse al nombre de un solo archivo mientras se usa la –To-mandar bandera en alquitrán. Hay varias de estas variables, que se pueden encontrar en el hombre páginas de alquitrán, 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 formas. En primer lugar, para crear un archivo en el que los archivos se establezcan para un propietario específico, la bandera -dueño puede ser usado. Uso de ejemplo:

--dueño
-dueño

Como se ve, el usuario 0 y el grupo 0 corresponden al usuario raíz. Raíz (como probablemente sepa) es el emperador supremo del sistema. Puede encontrar el UID (ID de usuario) y GID (ID de grupo) de otros usuarios utilizando 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, alquitrán es un programa de copia de seguridad bastante bueno. Les voy a contar sobre 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). Excluya los archivos de respaldo anteriores y los directorios VCS (en su mayoría, solo es útil para los programadores). También es importante mantenerse fuera de los directorios de los que está haciendo una copia de seguridad.

Por ejemplo, estás en el /hogar 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 –Excluir-vcs excluya los archivos de respaldo y VCS respectivamente.
  • –Dereferencia marcas 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 el –Mtime bandera. Sintaxis básica:

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

-mtime
-mtime

Como antídoto para esto, el indicador -m se puede utilizar para obtener la fecha modificada sin cambios. Para usar esto:

tar xf <Tarball name> -m

Actuar solo en archivos modificados después de una fecha específica

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

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

El uso de ejemplo se muestra a continuación.

--newer-mtime
–Newer-mtime

15. Permisos

Finalmente, los permisos se pueden configurar bastante bien en el caso de alquitrán archivos. Hay dos variaciones significativas:

Preservando los permisos originales

Esto se puede usar para preservar los permisos del archivo, como se menciona en el archivo después de ser extraído. Esto se logra a través de un comando de este tipo:

tar xf <Tarball name> --preserve-permissions

--preservar-permisos
–Preservar-permisos

Modificar el permiso como valor predeterminado

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

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

--no-mismos-permisos
–No-mismos-permisos

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 alquitrán. Para cualquier pregunta, no dude en utilizar la sección de comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir