CodeGym /Kursy /Docker SELF /Archiwizacja i kompresja plików: polecenia `tar`, `gzip`,...

Archiwizacja i kompresja plików: polecenia `tar`, `gzip`, `zip`

Docker SELF
Poziom 6 , Lekcja 4
Dostępny

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ów file1.txt i file2.txt.
  • -c: tworzenie nowego archiwum.
  • -v: wypisuje cały proces dodawania plików do terminala.
  • -f: wskazuje, że nazwa archiwum to archive.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 na file1.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 pliki file1.txt oraz file2.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 pliki file1.txt i file2.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

  1. Utwórz archiwum backup.tar z zawartości folderu /home/user/documents.
  2. Skompresuj archiwum za pomocą gzip, aby uzyskać backup.tar.gz.
  3. Rozpakuj archiwum do innego katalogu, na przykład /tmp/backup.
  4. Utwórz archiwum zip docs.zip z plików doc1.txt i doc2.txt.
  5. Spróbuj wyodrębnić zawartość docs.zip za pomocą polecenia unzip.

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ć! 🎉

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION