(compress files)
compress komprimiert Dateien mittels adaptiver Lempel-Ziv-Codierung: Zeichenketten, die sich im Text wiederholen, werden durch eindeutige Codes von 9 bis maximal 16 bit Länge abgekürzt.
Eigentümer, Zugriffsrechte sowie Zugriffs- oder Änderungsdatum der angegebenen Dateienwerden nicht verändert, wenn der aufrufende Prozess die passenden Privilegien hat.
Jede angegebene Datei wird ersetzt durch eine Datei gleichen Namens mit dem Suffix .Z .
Der Umfang der Komprimierung hängt ab von der Größe der Eingabedatei, vom Wert für bits (siehe unten, Option -b) sowie von der Verteilung gleicher Zeichenketten. Dateien, die nur Text oder Quellcode enthalten, werden in der Regel um 50-60% komprimiert. Die verwendete Lempel-Ziv-Codierung erreicht im allgemeinen eine bessere Komprimierung als die Codierung nach Huffman und verbraucht auch weniger Rechenzeit.
Eine Komprimierung wird nicht durchgeführt, wenn
die zu komprimierende Datei keine einfache Datei ist
auf die zu komprimierende Datei Verweise bestehen
die zu komprimierende Datei bereits ein .Z-Suffix hat
die anzulegende .Z-Datei bereits existiert und compress im Hintergrund abläuft
die Komprimierung keine Platzersparnis erwarten lässt
Mit uncompress können Sie eine komprimierten Datei wieder dekomprimieren.
Mit zcat können Sie komprimierte Dateien im Originalzustand auf die Standard-Ausgabe ausgeben. Die komprimierte Datei wird dabei nicht verändert.
Syntax
Format 1: |
compress[ -fv][ -b bits][ datei ...] |
Format 2: |
compress[ -cfv][ -b bits][ datei] |
Keine Option angegeben: Die angegebenen Dateien werden komprimiert, wenn dadurch Speicherplatz gespart werden kann.
Die Ausgabe von compress wird nur auf die Standard-Ausgabe geschrieben. Es wird keine Datei geändert oder angelegt. Bei -c darf nur eine Datei angegeben werden.
(f - force) Die Komprimierung wird erzwungen, auch wenn dadurch kein Speicherplatz gespart wird oder die anzulegende .Z-Datei bereits existiert. Diese Datei wird überschrieben. -f nicht angegeben:
(v - verbose) Die prozentuale Platzersparnis für jede komprimierte Datei wird angezeigt:
Die maximale Größe für den Abkürzungs-Code gleicher Zeichenketten wird auf bits Bits festgelegt. Der Wert für bits muss zwischen 9 und 16 liegen. Eine Herabsetzung des Wertes bewirkt, dass die Dateien weniger komprimiert werden. -b nicht angegeben: Achtung! datei Name der Datei, die komprimiert werden soll. Sie können mehrere Dateien angeben. Wenn Sie für eine der Dateien einen Bindestrich – angeben, liest compress an dieser Stelle von der Standard-Eingabe. Die komprimierte Datei erhält den Namen datei.Z, datei wird nach erfolgreicher Komprimierung gelöscht. datei.Z hat dieselben Zugriffsrechte, dasselbe Zugriffs- bzw. Änderungsdatum wie datei. Die Länge des Namens von datei ist abhängig vom verwendeten Dateisystem. Die maximal zulässige Länge für datei errechnet sich aus der maximal im verwendeten Dateisystem zulässigen Dateinamenslänge abzüglich zwei Zeichen. Damit ist die Namenserweiterung auf datei.Z noch möglich. Ist der Name länger, so wird datei nicht komprimiert. datei nicht angegeben oder für datei – angegeben: |
Endestatus
0 | Komprimierung erfolgreich |
1 | Fehler |
2 | Ein oder mehrere Dateien wurden nicht komprimiert, da die Komprimierung die Datei vergrößert hätte. |
>2 | Fehler |
Fehler
Der Name der zu komprimierenden Datei ist zu lang. compress komprimiert nicht.
|
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos compress: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel
Die Datei filme, die in unkomprimiertem Zustand 4862 Byte belegt, wird komprimiert.
|
Siehe auch
uncompress, zcat |