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.
- Usando el comando Tar en Linux
- 1. –lista
- 2. –crear
- 3. –anexar
- 4. –eliminar
- 5. –diff
- 6. –actualizar
- 7. –extraer
- 8. Control de sobrescritura
- 9. –eliminar-archivos
- 10. –excluir
- 11. –to-command = 'COMANDO'
- 12. Propiedad de los archivos
- 13. Solución de copia de seguridad completa
- 14. Hora modificada
- 15. Permisos
- Preservando los permisos originales
- Conclusión
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>
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>
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>
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>
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.
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:
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:
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>
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:
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
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:
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'
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:
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
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.
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
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
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