comprimir
compress( /usr/bin/compress) Es un programa de embalaje para UNIX y UNIX-como sistemas operativos . Su función y comportamiento están definidos en el estándar POSIX (y por tanto también en la Especificación Única de UNIX y el estándar IEEE 1003.1). Junto con su contraparte uncompress( /usr/bin/uncompress), forma el método habitual de almacenar archivos de una manera que ahorra espacio.
Método de trabajo
En los sistemas que no admiten el algoritmo Lempel-Ziv, compresslos archivos, que se pasan como argumentos, no cambian, sino que se anulan con un nivel de error superior a 2. También hay una terminación con un mensaje de error si la extensión del archivo causaría que se exceda la longitud máxima del nombre especificada .Zpor la constante del kernelNAME_MAX .
En todos los demás sistemas, los archivos se empaquetan y se reemplazan por el archivo empaquetado, cuyo nombre se amplía con un apéndice .Z. Si la autorización del proceso de ejecución es suficiente, se retienen las autorizaciones y los titulares. Estos archivos se pueden volver a extraer con el programa uncompress( /usr/bin/uncompress), por uncompresslo que la extensión de archivo adjunta .Zse elimina nuevamente.
Me gusta gzipy solo bzip2comprime compressarchivos individuales. Si varios archivos o incluso todo de directorio se combinan jerarquías, es típicamente (con un programa de archivo tar, cpio, backupetc.) se usan juntos, la salida del cual puede ser comprimido.
Consideraciones sobre la ley de patentes
El estándar POSIX especifica que los compress archivos se procesan de acuerdo con el algoritmo adaptativo Lempel-Ziv (también: LZC, una variante del algoritmo LZW). Este algoritmo (más precisamente: el algoritmo subyacente LZ78 ), así como su extensión por Terry A. Welch estuvo protegido por patentes estadounidenses hasta 2003 (en Japón hasta 2004), que fueron emitidas a Sperry Corporation .
Alternativas
Esta dependencia de un método propio fue una de las razones para el desarrollo de alternativas gzip, así bzip2, ambos de los cuales se basan en similar, pero de dominio público, los métodos de compresión con punteros variables. Por lo tanto, el sistema operativo GNU usa gzip(GNU-zip) como reemplazo de compress. gzippuede compressleer y descomprimir los archivos generados con , pero la compresión no es compatible debido al proceso (anteriormente) patentado utilizado para este propósito.
Notas de uso, ejemplos
Por lo general, toma compressuno o más nombres de archivo como argumento y reemplaza estos archivos con su versión comprimida directamente en el sistema de archivos. Con el conmutador -c, en su lugar se stdoutemite la versión comprimida y no se cambia el contenido del sistema de archivos. Por un lado, esto se puede utilizar para almacenar copias de seguridad comprimidas en todo tipo de dispositivos externos (unidades de cinta, etc.) (el flujo de datos se pone a disposición de un programa controlador adecuado a través de una canalización ), o para evitar la eliminación necesaria de los archivos de salida:
# compress -c /path/to/input > /path/to/output.Z
El conmutador también ofrece la opción de influir en la compresión (tasa): N es el número máximo de bits que se utilizarán para un código (se admiten valores entre 9 y 14). Los códigos más largos permiten una mejor compresión con un aumento simultáneo del esfuerzo informático.
-c N
Evidencia individual
- ↑ comprimir la especificación del Grupo Abierto. Consultado el 12 de mayo de 2013 .
- ↑ Patente de Estados Unidos No. 4464650. Consultada el 12 de mayo de 2013 (inglés).
- ↑ Patente de Estados Unidos No. 4558302. Consultada el 12 de mayo de 2013 (inglés).