Data compression
This page needs an update
bz2 compression and .zip for compatibility with Windows
The utilities
gzip and
gunzip compress and decompress data files respectively:
gzip foo creates a file
foo.gz;
.gz at the end almost always stands for a compressed file.
The command
gunzip foo or
gunzip foo.gz decompress, such that the file in the end again has the name
foo .
Less recommended is using the commands
compress and
uncompress for data
. instead of
.gz.
zcat foo.gz or
zcat foo.Z writes prints out on standard output what is inside the compressed files, the output can therefore worked with (e.g. piped) without any decompressed files being created on the filesystem. (see example 2).
- Emacs automatically compresses and decompresses, this means you can keep data files with textinformation in a compressed format. When you open those with emacs they are automatically decompressed. When closing your emacs session the files are compressed again.
- Keep PostScript files compressed (when not loaded into LaTeX)! They can still be printed even from this compressed format (prt automatically takes care of this):
prt /u/maechler/S/GRAPHICS/Postscript/colors.test.51.61.ps.Z
- The command tar compresses entire directories into one file. It is best to combine this with gzip or compress. See below.
- Compressing entire directory trees: tar-dir and untar-dir. Martin has created utilities with which one can compress subdirectories using tar, this way one can save quite a lot of hard disk space. Simply write: tar-dir my-subdirectory. For some more help type: tar-dir or untar-dir without any arguments.
Example: If you would like to compress the folder /u/sfs/X11 :
- Compress:
cd /u/sfs/
tar-dir X11
- Compare the hard disk usage of the files
du -s X11 ==> 153 K Bytes
ll X11.tar.gz ==> 54 K Bytes
- Decompress: untar-dir X11.tar.gz
Note: tar-dir X11 stands for: tar cfv - X11 | gzip > X11.tar.gz and untar-dir X11.tar.gz for zcat X11.tar.gz | tar xfv
- When you are short on disk space, one can also save bigger files in /u/sfs/Archives/ . To do this, read /u/sfs/Archives/README.
Data compression
Muss überarbeitet werden
bz2 compression und .zip (sowie zipinfo) for Kompatibilität mit Windows
Die Utilities
gzip und
gunzip komprimieren Dateien und machen es wieder rückgängig:
gzip foo erstellt eine Datei
foo.gz;
.gz am Ende zeigt immer (hoffentlich) ein komprimiertes File an.
Der Befehl
gunzip foo oder
gunzip foo.gz de-komprimieren beide, so dass das File wieder
foo heisst.
Weniger empfohlen, aber etwas weiter verbreitet, funktionieren auch
compress und
uncompress für
. Dateien statt
.gz.
zcat foo.gz oder
zcat foo.Z schreibt auf standard output, kann also irgendwohin ge-piped werden ohne dass je eine de-komprimierte Datei auf der Disk sein muss. (siehe Beispiel unter 2).
- Emacs komprimiert / de-komprimiert automatisch (!), d.h. man kann Dateien mit Textinformation komprimiert aufbewahren. Wenn man sie mit Emacs "öffnet" werden sie de-komprimiert, beim Schliessen automatisch wieder komprimiert.
- PostScript files komprimiert aufbewahren (wenn nicht in LaTeX "hinein" geholt)! Sie können auch so noch direkt ausgedruckt werden (prt ist schlau genug):
prt /u/maechler/S/GRAPHICS/Postscript/colors.test.51.61.ps.Z
- Der Befehl tar fasst ganze directories zu einer einzigen Datei zusammen. Am besten mit gzip oder compress kombinieren. Siehe nächster Punkt.
- Ganze directory-Bäume komprimieren tar-dir und untar-dir. Martin hat die beiden nützlichen Utilities gemacht, mit denen man Unter-directories "tar-compress"en, d.h. ziemlich viel Platz auf der Hard disk sparen, kann. Einfach schreiben: tar-dir mein-subdirectory. Etwas mehr Hilfe: tar-dir bzw. untar-dir (ohne Argument).
Beispiel: Ich möchte das ganze /u/sfs/X11 komprimieren:
- Komprimieren:
cd /u/sfs/
tar-dir X11
- Vergleich zwischen Platzverbrauch
du -s X11 ==> 153 K Bytes
ll X11.tar.gz ==> 54 K Bytes
- Wiederherstellen: untar-dir X11.tar.gz
Bemerkung: tar-dir X11 steht im Wesentlichen für: tar cfv - X11 | gzip > X11.tar.gz und untar-dir X11.tar.gz für zcat X11.tar.gz | tar xfv
- Wenn der Diskplatz knapp ist, kann man grössere Dinge auch in /u/sfs/Archives/ ablegen. Dazu lese man /u/sfs/Archives/README.