|
COMPRESS(1) manual page
Table of Contents
compress, uncompress, zcat - comprime ed espande dati
compress [ -f ] [ -v ] [ -c ] [ -V ] [ -b bits ] [ name ... ]
uncompress [
-f ] [ -v ] [ -c ] [ -V ] [ name ... ]
zcat [ -V ] [ name ... ]
Compress
riduce la grandezza dei file usando la codifica adattativa di Lempel-Ziv.
Quando possibile, ogni file viene sostituito da uno con estensione .Z,
mentre vengono mantenuti gli stessi permessi di possesso, accesso e modifica.
Se non vengono specificati file, lo standard input viene compresso sullo
standard output. I file compressi possono essere ripristinati alla loro
forma originale usando uncompress o zcat.
L'opzione -f forzerà la compressione
di name. Questo è utile per la compressione di una intera directory, anche
se alcuni dei file non si rimpiccioliscono effettivamente. Se -f non
viene specificato e compress viene eseguito in foreground, all'utente
viene chiesto se il file esistente debba essere sovrascritto.
L'opzione
-c fa si che compress/uncompress scriva sullo standard output; nessun
file viene cambiato. Il comportamento non distruttivo di zcat è identico
a quello di uncompress -c.
Compress usa l'algoritmo modificato Lempel-Ziv
divulgato in "A Technique for High Performance Data Compression", Terry
A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984), pp. 8-19. Le sottostringhe
comuni nel file vengono prima sostituite dai codici a 9 bit da 257 in
poi. Quando viene raggiunto il codice 512, l'algoritmo passa ai codici a
10 bit e continua a usare più bit fino a quando il limite specificato
dal flag -b viene raggiunto (per default pari a 16). I bit devono essere
compresi tra 9 e 16. Il default può essere cambiato nel sorgente per permettere
a compress di essere eseguito su una macchina più piccola.
Dopo che il
limite dei bit viene raggiunto, compress periodicamente controlla il rapporto
di compressione. Se sta aumentando, compress continua a usare l'esistente
dizionario del codice. Tuttavia, se il rapporto di compressione diminuisce,
compress scarta la tabella di sottostringhe e la ricostruisce da capo.
Questo permette all'algoritmo di adattarsi al prossimo "blocco" del file.
Notare che il flag -b è omesso per uncompress, poiché il parametro dei
bit specificato durante la compressione è codificato dentro l'output,
assieme a un numero magico per assicurare che non venga tentata né la
decompressione di dati random né la recompressione di dati compressi.
La quantità di compressione ottenuta dipende dalla grandezza dell'input,
dal numero dei bit per codice e dalla distribuzione di sottostringhe
comuni. Tipicamente, un testo come il codice sorgente o un testo inglese
viene accorciato del 50-60%. La compressone è generalmente molto migliore
di quella raggiunta dalla codifica di Huffman (come quella usata in
pack), o la codifica adattativa di Huffman (compact), e impiega meno
tempo per computare.
Sotto l'opzione -v, viene stampato un messaggio dando
la percentuale di riduzione per ogni file compresso.
Se viene specificata
l'opzione -V, vengono stampate su stderr l'attuale versione e opzioni di
compilazione.
Il codice di uscita è normalmente 0; se l'ultimo file è più
grande dopo una (tentata) compressione, il codice è 2; se capita un errore,
il codice è 1.
pack(1)
, compact(1)
Utilizzo:
compress [-dfvcV] [-b maxbits] [file ...] Sono state specificate opzioni non
valide nella riga di comando. Manca il parametro maxbits Maxbits deve
seguire -b. file: non in formato compresso. Il file specificato a uncompress
non è stato compresso. file: compresso con xx bit, può solo gestire yy
bit Il file è stato compresso con un programma che potrebbe manipolare
più bit del codice di compress su questa macchina. Ricomprimere il file
con meno bit. file: ha già il suffisso .Z -- niente cambiamenti Il file
si suppone sia già compresso. Rinomina il file e prova di nuovo. file:
nome del file troppo lungo per aggiungere .Z Il file non può essere compresso
perché il suo nome è più lungo di 12 caratteri. Rinomina il file e prova
di nuovo. Questo messaggio non capita sui sistemi BSD. Il file esiste già
; vuoi sovrascriverlo (s o n)? Rispondi "y" se vuoi che il file di output
venga sostituito; "n" altrimenti. uncompress: input corrotto. Una violazione
SIGSEGV è stata rilevata che di solito significa che il file di input
è stato corrotto. Compressione: xx.xx% Percentuale dell'input salvata
dalla compressione. (Rilevante solo per -v.) -- non è un file regolare: immutato.
Quando il file di input non è un file regolare, (p.e. una directory), viene
lasciato inalterato. -- ha xx altri links: immutato. Il file di input
ha dei link; viene lasciato immutato. Vedere ln(1)
per ulteriori informazioni.
-- file immutato. Nessun salvataggio raggiunto dalla compressione. L'input
rimane intatto.
Sebbene i file compressi siano compatibili tra
macchine con la memoria grande, -b12 dovrebbe essere usato per il trasferimento
di file verso architetture con un piccolo spazio per i dati del processo
(64KB o meno, come mostrato dalle macchine della serie DEC PDP, dall'Intel
80286, ecc.)
Table of Contents
|