菜鸟科技网

DOS系统中的tar命令与Linux tar命令功能有何异同?如何在DOS环境下正确使用tar命令进行文件打包与解压?

¡Claro! El comando tar en Linux y otros sistemas tipo Unix es una herramienta fundamental para archivar y comprimir archivos. Aunque su nombre viene de Tape Archive (archivo de cinta), hoy en día se usa principalmente para crear archivos únicos que agrupan muchos archivos y directorios.

DOS系统中的tar命令与Linux tar命令功能有何异同?如何在DOS环境下正确使用tar命令进行文件打包与解压?-图1
(图片来源网络,侵删)

Aquí te presento una guía completa sobre cómo usar tar, desde lo más básico hasta opciones comunes y avanzadas.


¿Qué hace tar? (El concepto clave)

tar por sí solo no comprime. Su función principal es empaquetar. Imagina que tienes una carpeta con 100 archivos. tar puede crear un único archivo (por ejemplo, mi_proyecto.tar) que contiene todos esos 100 archivos, manteniendo su estructura de directorios original.

Para comprimir, tar se combina con otras herramientas de compresión, como:

  • gzip (extensión .gz): El más común y rápido.
  • bzip2 (extensión .bz2): Mejor ratio de compresión, pero más lento.
  • xz (extensión .xz): El mejor ratio de compresión, pero el más lento.
  • zstd (extensión .zst): Compresión rápida y un buen ratio (más moderno).

La sintaxis moderna de tar integra estas opciones en un solo comando, lo que lo hace muy conveniente.

DOS系统中的tar命令与Linux tar命令功能有何异同?如何在DOS环境下正确使用tar命令进行文件打包与解压?-图2
(图片来源网络,侵删)

La Sintaxis Básica

La sintaxis general del comando es:

tar [opciones] [nombre_del_archivo.tar] [archivos_o_directorios_a_empaquetar]

Las opciones más importantes que debes conocer son:

Opción Corta Opción Larga Descripción
c --create Crear un nuevo archivo.
x --extract Extraer archivos de un archivo.
t --list Listar el contenido de un archivo sin extraerlo.
v --verbose Modo detallado. Muestra los archivos que se están procesando. (Muy útil para ver el progreso).
f --file=ARCHIVO Especificar el nombre del archivo. Esta opción casi siempre va seguida del nombre del .tar.
z --gzip Comprimir/descomprimir usando gzip.
j --bzip2 Comprimir/descomprimir usando bzip2.
J --xz Comprimir/descomprimir usando xz. (Nota: la opción es J mayúscula).
a --auto-compress Detecta la extensión del archivo y usa el método de compresión adecuado (ej: .tar.gz usa gzip).

Los Dos Casos de Uso Más Comunes

Caso 1: Crear un archivo comprimido (Empaquetar y Comprimir)

Supongamos que quieres crear un archivo comprimido de una carpeta llamada mi_proyecto.

a) Usando gzip (el más común, .tar.gz o .tgz)

DOS系统中的tar命令与Linux tar命令功能有何异同?如何在DOS环境下正确使用tar命令进行文件打包与解压?-图3
(图片来源网络,侵删)
# Comando completo y recomendado
tar -czvf mi_proyecto.tar.gz mi_proyecto/
# Desglose del comando:
# -c : Crear un archivo nuevo
# -z : Usar compresión gzip
# -v : Modo detallado (verbose)
# -f : Especificar el nombre del archivo de salida (mi_proyecto.tar.gz)
# mi_proyecto/ : El directorio que quieres empaquetar

b) Usando bzip2 (mejor compresión, .tar.bz2)

# Comando completo
tar -cjvf mi_proyecto.tar.bz2 mi_proyecto/
# Desglose del comando:
# -c : Crear
# -j : Usar compresión bzip2
# -v : Modo detallado
# -f : Nombre del archivo
# mi_proyecto/ : El directorio a empaquetar

c) Usando xz (mejor compresión, .tar.xz)

# Comando completo
tar -cJvf mi_proyecto.tar.xz mi_proyecto/
# Desglose del comando:
# -c : Crear
# -J : Usar compresión xz (¡OJO! Es J mayúscula)
# -v : Modo detallado
# -f : Nombre del archivo
# mi_proyecto/ : El directorio a empaquetar

Caso 2: Extraer un archivo comprimido

a) Extrayendo un archivo .tar.gz

# Comando completo y recomendado
tar -xzvf mi_proyecto.tar.gz
# Desglose del comando:
# -x : Extraer archivos
# -z : Descomprimir usando gzip
# -v : Modo detallado
# -f : Especificar el archivo de entrada (mi_proyecto.tar.gz)

b) Extrayendo un archivo .tar.bz2

# Comando completo
tar -xjvf mi_proyecto.tar.bz2
# Desglose del comando:
# -x : Extraer
# -j : Descomprimir usando bzip2
# -v : Modo detallado
# -f : Nombre del archivo

c) Extrayendo un archivo .tar.xz

# Comando completo
tar -xJvf mi_proyecto.tar.xz
# Desglose del comando:
# -x : Extraer
# -J : Descomprimir usando xz (¡OJO! Es J mayúscula)
# -v : Modo detallado
# -f : Nombre del archivo

Otras Operaciones Útiles

Listar el contenido de un archivo sin extraerlo

Esto es muy útil para saber qué hay dentro de un .tar.gz antes de extraerlo.

# Para un archivo .tar.gz
tar -tzvf mi_proyecto.tar.gz
# Para un archivo .tar.bz2
tar -tjvf mi_proyecto.tar.bz2
# Para un archivo .tar.xz
tar -tJvf mi_proyecto.tar.xz

El comando es igual que para extraer, pero en lugar de -x (extraer), se usa -t (listar).

Extraer en un directorio específico

Usa la opción -C (de "CWD" o Current Working Directory).

# Crea un directorio de destino si no existe
mkdir backup_destino
# Extrae el contenido dentro del directorio 'backup_destino'
tar -xzvf mi_proyecto.tar.gz -C backup_destino/

Crear un archivo .tar sin comprimir (solo empaquetar)

Si no necesitas compresión, simplemente omite la opción de compresión (-z, -j, -J).

# Crea mi_proyecto.tar (sin comprimir)
tar -cvf mi_proyecto.tar mi_proyecto/

Atajos y Sintaxis Moderna

La forma más moderna y recomendada de usar tar es agrupar todas las opciones que no requieren un valor (como c, v, f) en un solo bloque al principio.

Antiguo (aún funciona): tar -c -v -f mi_proyecto.tar.gz mi_proyecto/

Moderno (recomendado): tar -cvf mi_proyecto.tar.gz mi_proyecto/

Además, puedes usar la opción -a para que tar detecte automáticamente el método de compresión por la extensión del archivo.

Ejemplo de creación con -a:

# Crea un archivo .tar.gz automáticamente porque la salida termina en .gz
tar -caf mi_proyecto.tar.gz mi_proyecto/

Ejemplo de extracción con -a:

# Extrae automáticamente dependiendo de la extensión del archivo
tar -xaf mi_proyecto.tar.gz

Resumen Rápido (Cheat Sheet)

Acción Comando Descripción
Crear .tar.gz tar -czvf archivo.tar.gz directorio/ Empaqueta y comprime con gzip.
Extraer .tar.gz tar -xzvf archivo.tar.gz Descomprime y extrae un archivo gzip.
Crear .tar.bz2 tar -cjvf archivo.tar.bz2 directorio/ Empaqueta y comprime con bzip2.
Extraer .tar.bz2 tar -xjvf archivo.tar.bz2 Descomprime y extrae un archivo bzip2.
Crear .tar.xz tar -cJvf archivo.tar.xz directorio/ Empaqueta y comprime con xz.
Extraer .tar.xz tar -xJvf archivo.tar.xz Descomprime y extrae un archivo xz.
Listar contenido tar -tvf archivo.tar Muestra los archivos dentro de un .tar.
Extraer en carpeta tar -xvf archivo.tar -C /ruta/destino/ Extrae archivos en un directorio específico.

Con estos ejemplos, deberías ser capaz de realizar el 99% de las tareas comunes con el comando tar. ¡Es una herramienta increíblemente versátil y una de las más importantes para cualquier usuario de línea de comandos

分享:
扫描分享到社交APP
上一篇
下一篇