COMPRESS(P)

NAME
compress - comprime dati

SINTASSI

compress [-fv][-b bits][file ...]

compress [-cfv][-b bits][file]

DESCRIZIONE

L'utilità compress tenta di ridurre la dimensione dei file dati usando l'algoritmo di codifica adattativo Lempel-Ziv.

Note:
    Lempel-Ziv è brevettato US Patent 4464650, assegnato a William Eastman, Abraham Lempel, Jacob Ziv, Martin Cohn il 7 agosto 1984, e assegnato a Sperry Corporation.

La compressione Lempel-Ziv-Welch è comperta da brevetto US Patent 4558302, assegnato a Terry A. Welch il 10 dicembre 1985, e assegnato a Sperry Corporation.

Su sistemi che non supportano l'algoritmo di codifica adattativo Lempel-Ziv i file di input i file non devono venire cambiati e deve essere restituito un valore di errore maggiore di due. Tranne quando l'output è verso lo standard output, ciascun file deve essere sostituito da uno con l'estensione .Z. Se il processo invocante ha i provilegi appropriati, proprietario, permessi, ora di accesso, e ora di modifica del file originale sono preservati. Se l'aggiunta di .Z al nome del file rende il nome troppo lungo {NAME_MAX} il comando deve fallire. Se non è specificato alcun file, lo standard input deve venire compresso sullo standard output.

OPZIONI

L'utilità compress deve essere conforme al volume Base Definitions di IEEE Std 1003.1-2001, Sezione 12.2, Utility Syntax Guidelines.

Devono essere supportate le seguenti opzioni:

-b  bits
    Specifica il numero massimo di bit da usare in una codifica. Per una applicazione conforma l'argomento bits deve essere:

    9 <= bits <= 14

L'implementazione può permettere valori di bit maggiori di 14. Il default è 14, 15, o 16.

-c  Fa sì che compress scriva sullo standard output; il file di input non viene modificato, e non vengono creati file .Z.

-f  Forza la compressione di file, anche se questo non riduce le dimensioni del file, o se il corrispondente file .Z esiste già. Se l'opzione -f non viene data e il processo non funziona in background, all'utente viene chiesto se un file .Z esistente deve venire sovrascritto.

-v  Scrive la precentuale di riduzione di ciscun file sullo standard error.

OPERANDI

Devono essere supportati i seguenti operandi:

file
    Il percorso di un file da comprimere.

STDIN

Lo standard input deve essere usato solo se non sono specificati operandi file, o se un operando file è '-' .

FILE DI INPUT

Se sono specificati operandi file, i file di input contengono i dati da comprimere.

VARIABILI D'AMBIENTE

Le seguenti variabili d'ambiente influenzano l'esecuzione di compress:

LANG
    Fornisce un valore di default per le variabili di internazionalizzazione che sono non impostate o nulle. (Vedere il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 8.2, Internationalization Variables per la precedenza delle variabili di internazionalizzazione usata per determinare i valori delle categorie locali).

LC_ALL
    Se impostato a un valore di stringa non vuota, sovrascrive i valori di tutte le altre variabili di internazionalizzazione.

LC_CTYPE
    Determina la localizzazione per l'interpretazione di sequenze di byte di dati di testo come caratteri (per esempio caratteri a singolo byte e caratteri multi-byte negli argomenti).

LC_MESSAGES
    Determina la localizzazione che deve essere usata per influenzare formato e contenuti dei messaggi di diagnostica scritti sullo standard error. error.

NLSPATH
    Determina la locazione dei cataloghi messaggi per il processamento di fILC_MESSAGES.

EVENTI ASINCRONI

Default.

STDOUT

Se non sono specificati operandi file, o se un operando file è '-' , o se l'opzione -c è specificata, lo standard output contiene l'output compresso.

STDERR

Lo standard error deve essere usato solo per messaggi di diagnostica e per l'output da -v.

FILE DI OUTPUT

I file di output devono contenere l'output compresso. Il formato dei file compressi non è specificato e non l'intercambiabilitò di tali file tra le implementazioni (incluso l'accesso attraverso non meglio specificati meccanismi di condivisione) non è richiesta da IEEE Std 1003.1-2001.

DESCRIZIONE ESTESA

Nessuna.

STATO DI USCITA

Devono essere restituiti i seguenti valori in uscita:

0   Completamento avvenuto con successo.

1   C'è stato un errore.

2   Uno o più file non sono stati compressi, perchè avrebbero subìto un incremento delle dimensioni (e l'opzione -f non è stata specificata).

>2  C'è stato un errore.

CONSEGUENZE DEGLI ERRORI

Il file di input deve rimanere inalterato.

Le sezioni seguenti sono informative.

USO DELL'APPLICAZIONE

Il tasso di compressione ottenuto dipende dalla dimensione dell'input, il numero di bit per codifica, e dalla distribuzione delle sottostringhe comuni. Tipicamente, testo come codice sorgente o inglese è ridotto del 50-60%. La compressione generalmente è molto migliore di quella ottenuta mediante la codifica Huffman o la codifica adattativa Huffman ( compact), e richiede meno tempo.

Sebbene compress segua esattamente le azioni di default quando riceve un segnale o quando avviene un errore, potrebbero esserci dei risultati inaspettati. In alcune implementazioni è meglio che venga mantenuto un file parzialmente compresso, accanto al suo file di input non compresso. Poichè l'operazione generale di compress è di cancellare il file non compresso solo dopo che il file .Z è stato riempito con successo, un'applicazione deve sempre verificare attentamente lo stato di uscita di compress prima di cancellare arbitrariamente file che hanno nomi uguali ad altri con suffissi .Z .

Il limite di 14 sull'argomento-opzione bits è pensato per ottenere portabilità verso tutti i sistemi (entro le restrizioni imposte dalla mancanza di un formato di file esplicitamente pubblicato). Alcune implementazioni basate su architetture 16-bit non possono supportare decompressione a 15 o 16-bit.

ESEMPI

Vuoto.

LOGICA

Vuoto.

DIREZIONI FUTURE

Vuoto.

VEDERE ANCHE

uncompress , zcat

COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .