Wprowadzenie do Linuxa

11 Archiwa, kompresja danych

Najczęściej używane programy służące do kompresji danych:

gzip

kompresuje pliki
Postać: gzip [-r] plik
Skompresowane pliki automatyczne uzyskują rozszerzenie .gz
Opcja -r pozwala skompresować wszystkie pliki w podanym katalogu (każdy plik kompresowany jest osobno).
Przykład:
$ gzip archiwum.tar
utworzy skompresowany plik o nazwie archiwum.tar.gz

zip

kompresuje pliki i katalogi
Postać: zip [-r] nazwa_archiwum pliki_do_spakowania
Tworzy plik o podanej nazwie dodając rozszerzenie .zip zawierający skompresowaną zawartość podanych plików.
Opcja -r pozwala skompresować zawartość całego katalogu.
Przykład:
$ zip dokumenty *.txt
utworzy plik dokumenty.zip zawierający skompresowaną zawartość wszystkich plików posiadających rozszerzenie *.txt
$ zip -r konto
w pliku konto.zip powinna znaleźć się zawartość całego katalogu domowego

bzip2

kompresuje pliki
Postać: bzip2 pliki_do_spakowania
Skompresowane pliki otrzymują rozszerzenie .bz2

Aby rozpakować plik utworzony za pomocą jednego z powyższych algorytmów należy wykonać:

gunzip

rozpakowanie pliku *.gz oraz *.tgz
Postać: gunzip [-r] plik

unzip

rozpakowanie pliku *.zip
Postać: unzip plik

bunzip2

rozpakowanie pliku *.bz2
Postać: bunzip2 plik

Polecenia gzip i bzip2 kompresują pojedyncze pliki dlatego chcąc skompresować kilka plików w jedną całość należy utworzyć archiwum za pomocą programu tar.

tar

narzędzie do archiwizowania danych
Postać: tar [opcje] pliki
Tworząc archiwum pierwszą nazwa pliku podaną jako argument musi być nazwa tego archiwum.

Najważniejsze operacje i opcje:
c - stwórz archiwum
x - rozpakuj archiwum
l - wyświetl zawartość archiwum
f - zapisz do pliku (standardowo tar pracuje na strumieniach wejściowym i wyjściowym)
z - skompresuj archiwum za pomocą programu gzip
j
- skompresuj archiwum za pomocą bzip2
v
- wyświetla dodatkowe komunikaty

Przykłady tworzenia archiwum:
$ tar fcv arch.tar kat/
utworzy archiwum o nazwie arch.tar zawierające zawartość katalogu kat
$ tar fcvz arch.tar.gz *
stworzy spakowane (gzip) archiwum o nazwie arch.tar.gz zawierające wszystkie pliki i katalogi z bieżącego katalogu
$ tar fvcj arch.tar.bz2 plik1.txt plik2.txt
utworzy archiwum skompresowane za pomocą bzip2 o nazwie arch.tar.bz2 zawierające dwa pliki o nazwach plik1.txt plik2.txt

Otwieranie archiwum:
$ tar fx arch.tar
$ tar fxvz arch.tar.gz
$ tar fxvj arch.tar.bz2