Con un número cada vez mayor de formatos de archivo de compresión / archivo, ¿existe una única herramienta de línea de comandos de código abierto / libre para gobernarlos a todos? ¿Quizás algo con un conjunto consistente / unificado de banderas? (tenga en cuenta mi referencia implícita amigable a tar )
Una vez me encontré con un conjunto de alias destinados a simplificar en gran medida la tarea de comprimir / descomprimir archivos con enlaces tar
y otras utilidades, pero ya no puedo encontrar esto.
Actualización:
¿Cómo puedo configurar algo como atool
no usar unzip
para extraer archivos zip (que aparentemente no pueden manejar archivos de más de 4 GB) y usar gunzip
en su lugar?
$ aunpack large_file.zip
error: Zip file too big (greater than 4294959102 bytes)
Archive: large_file.zip
warning [large_file.zip]: 1491344848 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [large_file.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
aunpack: unzip ...: non-zero return-code
tar
utilities
compression
Amelio Vazquez-Reina
fuente
fuente
unpack
diferenteatool
?7z
.Respuestas:
Yo uso atool . Hace el trabajo Funciona con muchos, aunque no todos los formatos:
tar, gzip, bzip2, bzip, lzip, lzop, lzma, zip, rar, lha, arj, arc, p7zip, etc.
Estas herramientas de compresión todavía son necesarias, aunque atool es simplemente una interfaz para ellos.
En particular me gusta el
als
comando que proporciona que enumera el contenido de cualquier formato de archivo compatible.El principal
atool
comando utiliza sus propios indicadores para extraer archivos (pasando los indicadores apropiados a las herramientas de extracción subyacentes específicas).Ah, y está en los repositorios de algunas distribuciones (Fedora en mi caso, aunque, según recuerdo, cuando usé Ubuntu no estaba en sus repositorios, e instalé desde un tarball).
Actualización en repositorios : atool se encuentra en los siguientes repositorios de distribuciones (solo versiones actuales verificadas):
Estoy seguro de que hay otros ... plausiblemente, la mayoría de las distribuciones modernas.
Respuesta a la pregunta actualizada "¿Cómo puedo configurar algo como atool para no usar descomprimir para extraer archivos zip ... y usar gunzip en su lugar" :
Edite el archivo de configuración de atool
~/.atoolrc
y agregue la línea:con la ruta correcta a su programa gunzip.
Consulte la página de manual para ver la lista completa de posibles variables que puede incluir en este archivo de configuración, de las cuales hay muchas . Si las opciones de línea de comando necesarias para gunzip son diferentes de descomprimir, es posible que deba modificar la fuente de herramienta (perl) en sí.
fuente
Aquí hay una pequeña función de shell que se encarga de varios tipos de archivos.
Encontré la versión original de esta función en algún lugar en línea y la modifiqué un poco para extraer
ar
archivos comprimidos y xztar
.fuente
bash
yzsh
, pero también debería funcionarsh
.El sistema de archivos AVFS presenta una vista del sistema de archivos donde
/path/to/foo.zip
se puede acceder a cada archivo (por ejemplo ) como un directorio (~/.avfs/path/to/foo/zip#
para este ejemplo). AVFS proporciona acceso de solo lectura a los formatos de archivo de almacenamiento más comunes.Avfs utiliza ayudantes externos que se pueden configurar fácilmente editando archivos
/usr
(desafortunadamente, a partir de avfs 1.0 no hay forma de usar archivos en/usr/local
o en su directorio de inicio, necesita editar archivos/usr
o recompilarlos)./usr/share/avfs/extfs/ext-uzip
es el script para manejar.zip
archivos, cámbielo si no desea usarlo/usr/bin/unzip
. Es posible que pueda salirse con la suya usando 7z: intente editar/usr/share/avfs/extfs/extfs.ini
y cambie la líneaext-uzip
au7z .zip
.fuente