COMPRESS(1)

NAZWA
compress, uncompress.real - kompresuj i dekompresuj dane

SKŁADNIA
compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b limit_bitów ] [ -- ] [ nazwa ... ]
uncompress.real [ -f ] [ -v ] [ -c ] [ -V ] [ -- ] [ nazwa ... ]

OPIS

Note that the program that would normally be installed as uncompress is installed for Debian as uncompress.real. This has been done to avoid conflicting with the more-commonly-used program with the same name that is part of the gzip package.

compress redukuje rozmiar podanych plików używając adaptywnego kodowania algorytmem Lempel-Ziv. Zawsze, jeżeli jest to możliwe, do nazwy pliku dodawane jest rozszerzenie .Z, przy zachowaniu informacji o właścicielu pliku, trybie dostępu oraz czasie dostępu i modyfikacji. Jeżeli nie podano nazwy żadnego pliku, dane do kompresji pobierane są ze standardowego wejścia, a po skompresowaniu zapisywane na standardowe wyjście. compress kompresuje jedynie zwykłe pliki. W szczególności, ignoruje dowiązania symboliczne. Jeżeli plik ma wiele twardych dowiązań, compress nie podda go kompresji, chyba że zostanie uruchomiony z opcją -f.

Jeżeli program został uruchomiony w pierwszym planie bez opcji -f, użytkownik będzie pytany przed nadpisywaniem istniejących plików.

Skompresowane pliki mogą być odtworzone do normalnej postaci poleceniem uncompress.real.

uncompress.real uruchamiany jest z listą plików w linii poleceń. Następnie każdy plik, którego nazwa kończy się rozszerzeniem .Z i w nagłówku pliku znajduje się prawidłowa liczba (magic number) jest dekompresowany i z jego nazwy usuwane jest rozszerzenie .Z. Zdekompresowny plik będzie miał te same właściwości, co plik skompresowany, tzn. właściciela, tryb dostępu oraz czas dostępu i modyfikacji.

Opcja -c powoduje, że programy compress i uncompress.real zapisują pliki wyjściowe na standardowe wyjście; w ten sposób oryginalne pliki są nienaruszane.

Jeżeli podano opcję -r, compress będzie działał rekurencyjnie. Jeżeli w linii poleceń oprócz nazw plików podane zostaną nazwy katalogów, pliki w tych katalogach również zostaną poddane kompresji.

Opcja -V spowoduje wypisanie na standardowe wyjście błędów wersji programu, jak również opcji preprocesora użytych w trakcie kompilacji. Następnie dokonywana jest kompresja/dekompresja podanych plików.

compress używa zmodyfikowanego algorytmu Lempel-Ziv spopularyzowanego w artykule "A Technique for High Performance Data Compression" autorstwa Terry'ego A. Welcha, który ukazał się w IEEE Computer, vol. 17, no. 6 (lipiec 1984), strony. 8-19. Jednakowe podciągi w pliku są początkowo zastępowane 9-bitowymi kodami o wartościach większych od 257. Gdy osiągnięta zostanie wartość kodów 512, algorytm zaczyna używać kodów 10-bitowych, potem 11-bitowych itd. aż do osiągnięcia limitu podanego w linii poleceń opcją -b, domyślnie jest to 16 bitów. limit_bitów musi się zawierać pomiędzy 9 a 16. Wartość domyślna może być zmieniona w kodzie źródłowym, aby umożliwić działanie programu na komputerach z mniejszą ilością pamięci.

Gdy osiągnięty zostanie limit_bitów, compress zaczyna kontrolować współczynnik kompresji. Jeżeli współczynnik jest zwiększany, compress kontynuuje używanie bieżącego słownika. Jednakże, jeżeli współczynnik się zmniejsza, compress tworzy od nowa tablicę podciągów, co pozwala algorytmowi zaadaptować się do kolejnej porcji danych.

Zauważ, że opcja -b nie jest używana przez program uncompress.real, ponieważ parametr limit_bitów jest zapisywany wraz z kompresowanymi danymi. Zapisywana jest również właściwa wartość w nagłówku (magic number), aby upewnić się, że nie zostanie podjęta próba dekompresji przypadkowych danych, lub kompresja danych wcześniej poddanych kompresji.

Wydajność kompresji zależy od wielkości danych wejściowych, ilości bitów używanych w kodach oraz rozmieszczenia w danych jednakowych podciągów. Dane takie, jak kod źródłowy lub tekst w języku angielskim są redukowane o 50-60 procent. Osiągany stopień kompresji jest przeważnie dużo większy niż w kodowaniu Huffmana (używanym przez program pack), lub adaptywnym kodowaniu Huffmana (compact), kompresja przebiega też szybciej.

Po podaniu opcji -v po skompresowaniu każdego pliku wypisywana jest informacja na temat osiągniętego stopnia kompresji.

-- may be used to halt option parsing and force all remaining arguments to be treated as paths.

DIAGNOSTYKA
Exit status is normally 0; if the last file is larger after (attempted) compression, the status is 2; if an error occurs, exit status is 1.

Usage: compress [-dfvcVr] [-b maxbits] [file ...]
W linii poleceń znalazły się nieprawidłowe opcje.
Missing maxbits
Po opcji -b brakowało parametru.
file: not in compressed format
Plik podany jako parametr programu uncompress.real nie jest skompresowany.
file: compressed with xx bits, can only handle yy bits
Plik został skompresowany przez program obsługujący większą ilość bitów niż program compress na tym komputerze. Skompresuj plik ponownie z mniejszym parametrem limit_bitów.
file: already has .Z suffix -- no change
Plik z rozszerzeniem nazwy .gz nie może być ponownie kompresowany. Zmień nazwę pliku i spróbuj ponownie.
file: filename too long to tack on .Z
Plik nie może być skompresowany, ponieważ jego nazwa jest dłuższa niż 12 znaków. Zmień nazwę pliku i spróbuj ponownie. Ta informacja nie pojawia się na systemach BSD.
file already exists; do you wish to overwrite (y or n)?
Należy odpowiedzieć "y", by nadpisać istniejący już plik wyjściowy lub "n" w przeciwnym przypadku.
uncompress.real: corrupt input
Program otrzymał sygnał SIGSEGV, co zazwyczaj oznacza, że plik wejściowy jest uszkodzony.
Compression: xx.xx%
Osiągnięty stopień kompresji (tylko po podaniu opcji -v.)
-- not a regular file or directory: ignored
Gdy plik wejściowy nie jest zwykłym plikiem lub katalogiem (tzn. jest np. dowiązaniem symbolicznym, gniazdem, kolejką FIFO, plikiem urządzenia), jest pozostawiany bez zmian.
-- has xx other links: unchanged
Plik wejściowy ma twarde dowiązania i nie może zostać zmieniony. Więcej informacji można znaleźć w opisie polecenia ln(1). Użycie opcji -fwymusi kompresję plików mających twarde dowiązania.
-- file unchanged
Rozmiar pliku nie zmniejszył się po kompresji. Plik zostanie pozostawiony w oryginalnej postaci.

BŁĘDY
Mimo, że skompresowane pliki są kompatybilne na komputerach z dużą ilością pamięci, dla plików, które będą odczytywane na innych komputerach należy używać opcji -b12, ponieważ dekompresja może być niemożliwa na komputerach z mniejszą ilością pamięci (64KB lub mniej, jak na komputerach serii DEC PDP, lub Intel 80286, etc.)

Uruchomienie programu z opcją -r może niekiedy spowodować fałszywe komunikaty o błędach postaci

"<filename>.Z already has .Z suffix - ignored"

These warnings can be ignored. See the comments in compress42.c:compdir() in the source distribution for an explanation.

ZOBACZ TAKŻE
pack(1), compact(1)

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Łukasz Kowalczyk <lukow@tempac.okwf.fuw.edu.pl>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.