Saltar al contenido

Listar y extraer

Mira dentro de los archivos y extráelos en paralelo y con seguridad.

Actualizado el

Listar

Salida
arca list <ARCHIVE> [-t | --time] [-p PASSWORD]

Imprime una línea por entrada (tamaño sin comprimir, método, ratio y nombre) sin extraer nada.

Terminal
arca list arca.zip --time
Salida
       22966  deflate   72.6%  arca/arca-cli/src/main.rs      114710  deflate   76.8%  arca/arca-zip/src/lib.rs174 entries, 2.3 MB uncompressed, listed in 0.1 ms

Con --time, el resumen va a la salida de error estándar, así que canalizar el listado hacia otras herramientas queda limpio.

Extraer

Salida
arca extract <ARCHIVE> [-o DIR] [--on-conflict POLICY] [-j THREADS] [-p PASSWORD]
OpciónPor defectoDescripción
-o, --dest.Directorio de destino. Se crea si no existe.
--on-conflictoverwriteQué hacer cuando un archivo ya existe: overwrite, skip o rename.
-j, --threads0Hilos a usar. 0 significa todos los núcleos. Solo .zip puede ir en paralelo.
-p, --passwordningunaContraseña de un archivo cifrado (AES-256 o ZipCrypto).

Conflictos

PolíticaComportamiento
overwriteSustituye el archivo que ya está ahí.
skipDeja intacto el archivo existente y continúa.
renameLo escribe junto al otro con el nombre name (1).ext.

Los destinos ZIP se deciden de antemano en un hilo. 7z resuelve los conflictos secuencialmente al recorrer los bloques; los nombres duplicados no compiten por el mismo nombre libre.

Extracción en paralelo

Un .zip es de acceso aleatorio: el directorio central dice dónde empieza cada entrada, así que un hilo por núcleo puede abrir el archivo cada uno y descomprimir una entrada distinta. Un .tar es un único flujo, y un .tar.gz o .tar.xz un único flujo comprimido encima de este, así que no hay nada que dividir y la extracción sigue siendo secuencial. Las entradas TAR y un .xz suelto se escriben con un nombre temporal y solo se renombran cuando sus datos se han leído y comprobado, así que un archivo truncado o dañado no deja un fichero a medias con el nombre real. Las entradas que terminaron antes del daño se quedan.

287 MB en 16 archivos de texto · Windows 11Tiempo
Arca, 16 hilos0.207 s
Arca, -j 10.686 s
7-Zip1.020 s

7z, contraseñas y bloques sólidos

Terminal
arca list secret.7z -p "a password"arca test secret.7z -p "a password"arca extract secret.7z -o restored/ -p "a password" --on-conflict rename

Se puede listar un 7z sin cifrar o con cabeceras visibles sin contraseña. Las cabeceras ocultas la exigen incluso para listar. El listado no verifica el contenido: usa test. Solo el primer miembro de un bloque sólido muestra su tamaño comprimido; los ratios por fichero no son medidas independientes.

La extracción 7z es secuencial, también para selecciones en la ventana. Hay que descomprimir los datos sólidos omitidos. Para cualquier 7z cifrado, Arca valida todo el contenido antes de crear o sustituir ficheros o directorios de destino, y extrae lo seleccionado en una segunda pasada. Una contraseña incorrecta o un fallo de checksum cifrado deja el destino intacto. CRC no es autenticación: también puede indicar corrupción, y el origen debe permanecer estable entre pasadas.

Se rechazan enlaces simbólicos y puntos de reanálisis en el destino. Las sustituciones usan temporales, sin truncar enlaces duros existentes. Esto no elimina las carreras ante cambios concurrentes del sistema de archivos. La extracción sin cifrar puede fallar tras escribir entradas previas; no hay una reversión de todo el directorio. Consulta los límites de recursos y códecs en Arquitectura.

Rutas seguras

Cada nombre de entrada pasa por la defensa Zip Slip de Arca antes de unirse al destino. Una entrada como ../../etc/passwd se rechaza con un error en lugar de escribirse fuera del directorio de destino.