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.tarz dwóch plikówfile1.txtifile2.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.tardo 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.txtzostanie 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.txtorazfile2.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.txtifile2.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.tarz 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.zipz plikówdoc1.txtidoc2.txt. - Spróbuj wyodrębnić zawartość
docs.zipza 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