Linux Ubuntu - archiwizowanie i kompresowanie

Z Systemy operacyjne i sieci komputerowe
Wersja z dnia 09:42, 11 mar 2016 autorstwa Admin (dyskusja | edycje) (Utworzono nową stronę "__FORCETOC__ ==tar== Polecenie tar służy do tworzenie archiwum, czyli umieszczania plików w jednym pliku zbiorczym. Standardowo plik .tar nie jest skompresowany. Oc...")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania


tar

Polecenie tar służy do tworzenie archiwum, czyli umieszczania plików w jednym pliku zbiorczym. Standardowo plik .tar nie jest skompresowany. Oczywiście można uzyskać kompresję wybierając odpowiednie opcje, np. -z czy -j.

Podstawowe opcje

  • -c – tworzy plik w formacie tar
  • -f – określa nazwę pliku archiwum tar
  • -v – wypisuje nazwy wszystkich plików
  • -x – wyodrębnia wymienione pliki
  • -t – wyświetla zawartość archiwum
  • -r – włącza bezwarunkowe dołączanie plików do archiwum
  • -u – powoduje dołączenie do archiwum tylko tych plików, które są nowsze niż ich odpowiedniki w archiwum
  • -z – włącza kompresję programem gzip
  • -j – włącza kompresję programem bzip2
  • -Z – włącza kompresje programem compress [1]

Przykłady

Przykłady:

tar -cf archiwum_dane.tar dane stworzenie archiwum archiwum_dane.tar z katalogu dane

Poniżej dołączono opcje v, która wypisuje nazwy archiwizowanych plików.

uczen@linux:~$ tar -cvf archiwum2_dane.tar dane
dane/
dane/aaa.txt
dane/bbb.txt

tar -rf archiwum_dane.tar klasa.txt dodanie do archiwum_dane.tar pliku klasa.txt

Możemy sprawdzić zawartość archiwum bez wyodrębniania plików używając opcji t.

uczen@linux:~$ tar -tf archiwum_dane.tar
dane/
dane/aaa.txt
dane/bbb.txt
klasa.txt
uczen@linux:~$ tar -tvf archiwum_dane.tar
drwxrwxr-x uczen/uczen       0 2016-03-10 10:12 dane/
-rw-rw-r-- uczen/uczen      11 2016-03-10 10:11 dane/aaa.txt
-rw-rw-r-- uczen/uczen 4355436 2016-03-10 10:13 dane/bbb.txt
-rw-rw-r-- uczen/uczen      80 2016-03-09 08:40 klasa.txt

tar –xf archiwum_dane.tar wyodrębnienie plików z archiwum_dane.tar do katalogu dane

tar -czf archiwum_dane.tar.gz dane stworzenie skompresowanego archiwum archiwum_dane.tar.gz z katalogu dane

Sprawdźmy jak mocno skompresowało archiwum. Jak widać zamiast 4,3 MB są 682 KB.

uczen@linux:~$ ls -l a*
-rw-rw-r-- 1 uczen uczen 4362240 mar 10 10:17 archiwum2_dane.tar
-rw-rw-r-- 1 uczen uczen 4362240 mar 10 10:28 archiwum_dane.tar
-rw-rw-r-- 1 uczen uczen  682661 mar 10 10:32 archiwum_dane.tar.gz

Rozpakujemy archiwum_dane.tar.gz do innego katalogu. Domyślnie użyty byłby katalog, z którego robiliśmy archiwum, czyli dane.

uczen@linux:~$ mkdir dane2
uczen@linux:~$ tar -xf archiwum_dane.tar.gz -C dane2

tar -cjf archiwum_dane.tar.bz2 dane stworzenie skompresowanego archiwum archiwum_dane.tar.bz2 z katalogu dane

tar -xf archiwum_dane.tar.bz2 rozpakowanie skompresowanego archiwum_dane.tar.bz2

gzip i gunzip

gzip

Gzip służy do kompresowanie plików. Powyżej pokazano efekt wywoływania gzip z polecenia tar. W wyniku użycia gzip powstają pliki z rozrzerzeniem .gz.

Przykłady:

Poniżej przykład skopresowania pliku tekstowego gzip bbb.txt.

uczen@linux:~/dane$ ls -l
razem 4260
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
uczen@linux:~/dane$ gzip bbb.txt
uczen@linux:~/dane$ ls -l
razem 672
-rw-rw-r-- 1 uczen uczen     11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 682471 mar 10 10:13 bbb.txt.gz

Poniżej skompresujemy archiwum tar

gzip archiwum_dane.tar

Poleceniem gzip z opcją -d możemy dekompresować gzip -d bbb.txt.gz

uczen@linux:~/dane$ ls
aaa.txt  bbb.txt.gz  ccc.txt.gz
uczen@linux:~/dane$ gzip -d bbb.txt.gz
uczen@linux:~/dane$ ls -l
razem 4928
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
-rw-rw-r-- 1 uczen uczen  682471 mar 10 11:52 ccc.txt.gz

gunzip

Gunzip służy do dekompresowania plików z rozszerzeniem .gz, przykładowo gunzip ccc.txt.gz

uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt.gz
uczen@linux:~/dane$ gunzip ccc.txt.gz
uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt

bzip2 i bunzip2

bzip2

Bzip2 służy do kompresowanie plików. W wyniku użycia bzip2 powstają pliki z rozrzerzeniem .bz2.

Przykłady:

Poniżej przykład skopresowania pliku tekstowego bzip2 bbb.txt.

uczen@linux:~/dane$ ls -l
razem 8516
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt
uczen@linux:~/dane$ bzip2 bbb.txt
uczen@linux:~/dane$ ls -l
razem 4828
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen  578239 mar 10 10:13 bbb.txt.bz2
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt

Poleceniem bzip2 z opcją -d możemy dekompresować bzip2 -d bbb.txt.bz2

uczen@linux:~/dane$ bzip2 -d bbb.txt.bz2
uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt

bunzip2

Poleceniem bunzip2 możemy dekompresować pliki .bz2, przykładowo bunzip2 ccc.txt.bz2

uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt.bz2
uczen@linux:~/dane$ bunzip2 ccc.txt.bz2
uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt

zip i unzip

zip

Poniżej przykłady kompresowania programem zip. Skompresowano pliki bbb.txt oraz ccc.txt w kopia.zip

uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt
uczen@linux:~/dane$ zip kopia.zip bbb.txt ccc.txt
  adding: bbb.txt (deflated 84%)
  adding: ccc.txt (deflated 84%)
uczen@linux:~/dane$ ls -l
razem 9852
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt
-rw-rw-r-- 1 uczen uczen 1365196 mar 10 12:27 kopia.zip

Przykład skompresowania katalogu z całą zawartością:

uczen@linux:~$ zip -r kopia_dane.zip dane
  adding: dane/ (stored 0%)
  adding: dane/aaa.txt (stored 0%)
  adding: dane/kopia.zip (stored 0%)
  adding: dane/bbb.txt (deflated 84%)
  adding: dane/ccc.txt (deflated 84%)
uczen@linux:~$ 


unzip

Poniżej zdekompresowano kopia.zip. Zauważcie, że w katalogu są już te pliki, stąd pytanie o zamianę. Jeśli chcecie podać inny katalog użyjcie opcji -d.

uczen@linux:~/dane$ unzip kopia.zip
Archive:  kopia.zip
replace bbb.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: bbb.txt                 
  inflating: ccc.txt                 
uczen@linux:~/dane$ 

xz

Polecenia służy do kompresowania i dekompresowania. Posiada rozszerzenie .xz

Przykład użycia xz bbb.txt w celu kompresji:

uczen@linux:~/dane$ ls -l
razem 8516
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt
uczen@linux:~/dane$ xz bbb.txt
uczen@linux:~/dane$ ls -l
razem 4688
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen  434288 mar 10 10:13 bbb.txt.xz
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt

A teraz dekompresja xz -d bbb.txt.xz:

uczen@linux:~/dane$ xz -d bbb.txt.xz
uczen@linux:~/dane$ ls -l
razem 8516
-rw-rw-r-- 1 uczen uczen      11 mar 10 10:11 aaa.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 10:13 bbb.txt
-rw-rw-r-- 1 uczen uczen 4355436 mar 10 11:52 ccc.txt

Przykład kompresowania wszystkich plików w katalogu xz -z *

uczen@linux:~/dane$ ls
aaa.txt  bbb.txt  ccc.txt
uczen@linux:~/dane$ xz -z *
uczen@linux:~/dane$ ls
aaa.txt.xz  bbb.txt.xz  ccc.txt.xz

Archiwizowanie i kompresowanie w środowisku graficznym

Możemy archiwizować i kompresować, jak również dokonywać operacji odwrotnych z poziomu nautilusa. Jest to banalnie proste, dlatego wklejam same zrzuty.

Archiwizacjaubuntu1.png

Archiwizacjaubuntu2.png

Archiwizacjaubuntu3.png

Archiwizacjaubuntu4.png