Archiwizacja i kompresja plików: polecenia tar
, gzip
, zip
1. Pojęcie archiwizacji i kompresji
Co to jest archiwizacja i po co ją robić?
Wyobraź sobie szafę pełną książek. Żeby je przechowywać kompaktowo, możesz włożyć je do pudełka (archiwizacja) i obwiązać sznurkiem dla lepszego uporządkowania (kompresja). W świecie komputerów archiwizacja to proces łączenia kilku plików w jeden kontener (archiwum), a kompresja — zmniejszenie jego rozmiaru.
A po co to robić? Oto kilka przykładów:
- Przechowywanie danych: Pakując pliki do archiwum, możesz je łatwo przenosić lub kopiować jako jeden plik.
- Przesyłanie danych: Dzięki kompresji dane zajmują mniej miejsca, co przyspiesza przesyłanie przez sieć.
- Kopia zapasowa: Archiwizacja pozwala zabezpieczyć dane i ułatwia ich odzyskanie.
A tak w ogóle, czy kiedykolwiek próbowałeś wysłać 1000 plików mailem? Bez archiwizacji to bardziej przypomina torturę!
2. Komenda tar
: tworzenie i praca z archiwami
Co to jest tar?
tar
— to narzędzie do archiwizacji plików w systemie Linux. Samo w sobie tar
nie kompresuje plików, a jedynie łączy je w jeden plik. Jeśli chcesz skompresować plik, możesz użyć dodatkowego narzędzia do kompresji (gzip
, bzip2
itp.).
Ogólna składnia
tar [opcje] <archiwum> <pliki/foldery>
Podstawowe opcje
-c
: tworzenie nowego archiwum.-v
: szczegółowy wypis operacji (pokaże wszystkie dodane pliki).-f
: określenie nazwy archiwum.-x
: wyodrębnianie plików z archiwum.-t
: wyświetlenie zawartości archiwum.
Przykłady użycia
1. Tworzenie archiwum
tar -cvf archive.tar file1.txt file2.txt
- Tworzy archiwum
archive.tar
z dwóch plikówfile1.txt
ifile2.txt
. -c
: tworzenie nowego archiwum.-v
: wypisuje cały proces dodawania plików do terminala.-f
: wskazuje, że nazwa archiwum toarchive.tar
.
2. Archiwizacja folderu
tar -cvf project.tar /home/user/project
- Tworzy archiwum
project.tar
, zawierające cały folder/home/user/project
.
3. Rozpakowanie archiwum
tar -xvf archive.tar
- Rozpakowuje archiwum
archive.tar
do bieżącego katalogu.
4. Wyświetlenie zawartości archiwum
tar -tvf archive.tar
- Pokazuje listę plików i folderów w archiwum.
3. Kompresja za pomocą gzip
Co robi gzip
?
Jeśli tar
to pudełko, to gzip
to worek próżniowy, który zmniejsza jego rozmiar. gzip
zmniejsza dane, wykorzystując algorytmy kompresji, co czyni go idealnym narzędziem do oszczędzania miejsca.
Ogólna składnia
gzip [opcje] <plik>
Przykłady użycia
1. Kompresja pliku
gzip file1.txt
- Po wykonaniu komendy plik
file1.txt
zostanie zamieniony nafile1.txt.gz
.
2. Dekompresja pliku
gunzip file1.txt.gz
- Przywraca oryginalny plik
file1.txt
.
3. Archiwizacja i kompresja za pomocą tar
i gzip
tar -czvf archive.tar.gz file1.txt file2.txt
- Tworzy archiwum
archive.tar.gz
, które łączy i kompresuje plikifile1.txt
orazfile2.txt
.
4. Wyodrębnianie skompresowanego archiwum
tar -xzvf archive.tar.gz
- Rozpakowuje i wyodrębnia zawartość archiwum
archive.tar.gz
.
4. Narzędzie zip
do tworzenia skompresowanych archiwów
Czym różni się od tar
?
W przeciwieństwie do tar
, zip
od razu tworzy skompresowane archiwum, które domyślnie może być używane w Windows i innych systemach.
Ogólna składnia
zip [opcje] <archiwum> <pliki/foldery>
Przykłady użycia
1. Tworzenie archiwum zip
zip archive.zip file1.txt file2.txt
- Tworzy archiwum
archive.zip
, które zawiera plikifile1.txt
ifile2.txt
.
2. Archiwizowanie folderu
zip -r project.zip /home/user/project
- Tworzy archiwum
project.zip
, które zawiera cały folder/home/user/project
. -r
: rekursywne dodawanie plików i folderów.
3. Rozpakowywanie archiwum zip
unzip archive.zip
- Wyodrębnia zawartość archiwum
archive.zip
.
5. Różnice między tar
, gzip
i zip
Narzędzie | Archiwizacja | Kompresja | Metoda | Główne zastosowanie |
---|---|---|---|---|
tar |
✅ | ❌ | Pakowanie plików | Łączenie plików w archiwum bez kompresji |
gzip |
❌ | ✅ | Kompresja | Zmniejszanie rozmiaru pojedynczych plików lub archiwów |
zip |
✅ | ✅ | Wszystko w jednym | Tworzenie przenośnych archiwów |
6. Zadanie praktyczne
- Utwórz archiwum
backup.tar
z zawartości folderu/home/user/documents
. - Skompresuj archiwum za pomocą
gzip
, aby uzyskaćbackup.tar.gz
. - Rozpakuj archiwum do innego katalogu, na przykład
/tmp/backup
. - Utwórz archiwum zip
docs.zip
z plikówdoc1.txt
idoc2.txt
. - Spróbuj wyodrębnić zawartość
docs.zip
za pomocą poleceniaunzip
.
7. Typowe błędy i szczegóły
1. Błąd "Permission denied" Jeśli próbujesz archiwizować pliki, do których dostęp jest ograniczony, pojawi się komunikat o błędzie. Uruchom komendę z uprawnieniami administratora: sudo
.
2. Pogubiłeś się w opcjach? Opcje tar
mogą czasem być mylące. Pamiętaj, że kolejność jest ważna: na przykład najpierw trzeba wskazać akcję -c
lub -x
, a potem inne opcje.
3. Skompresowane archiwum się nie otwiera Jeśli przypadkowo dodasz kompresję do już skompresowanego pliku (np. gzip archive.tar.gz
), nie panikuj. Po prostu rozpakuj go dwa razy.
4. Za duże archiwum Podczas używania komendy zip
, wyklucz pliki tymczasowe lub cache, aby zmniejszyć rozmiar archiwum: zip -r archive.zip folder -x "*.tmp"
.
5. Problemy z kompatybilnością Jeśli musisz przesłać plik użytkownikowi systemu Windows, wybierz zip
, ponieważ jest lepiej obsługiwany na tej platformie.
Tak oto poznaliśmy archiwizację i kompresję danych w Linuxie. Te narzędzia przydadzą się do uproszczenia pracy z dużą ilością danych, ich przesyłania i ochrony przed utratą. Przechodzimy do kolejnego tematu — wiedza będzie się tylko powiększać! 🎉
GO TO FULL VERSION