Przejdź do głównej zawartości

Jeden post z tagiem "zip"

Wyświetl wszystkie tagi

Praca z archiwami ZIP w wierszu poleceń systemu Linux

· 1 min aby przeczytać
Customer Care Engineer

ZIP to jeden z najczęściej używanych formatów do kompresji plików. Na komputerach osobistych można z łatwością zarządzać takimi archiwami za pomocą intuicyjnego interfejsu graficznego, jednak na serwerach opcja ta zazwyczaj nie jest dostępna. Dlatego warto poznać podstawowe polecenia, które umożliwiają wykonywanie typowych operacji w wierszu poleceń.

Przygotowanie do pracy

Przed rozpoczęciem należy upewnić się, że masz zainstalowane pakiety do pracy z archiwami zip.

Dla Debian i Ubuntu:

sudo apt update && sudo apt install zip unzip

Dla CentOS oraz Rocky/Alma Linux:

sudo yum makecache && sudo yum install zip unzip

Tworzenie archiwum ZIP

Aby utworzyć archiwum, użyj polecenia:

zip -r archive_name.zip /directory/path/

Opcja -r służy do rekurencyjnego dodawania wszystkich plików i podkatalogów do archiwum.

Rozpakowywanie archiwum ZIP

unzip archive.zip

Domyślnie zawartość zostanie rozpakowana do bieżącego katalogu. Jeśli chcesz rozpakować archiwum w inne miejsce, skorzystaj z opcji -d.

Na przykład:

unzip backup.zip -d /home/user/backup/

Inne przydatne opcje

  • -l — wyświetla listę plików wewnątrz archiwum bez jego rozpakowywania:
unzip -l archive.zip
  • -u — aktualizuje plik wewnątrz archiwum:
zip -u archive.zip new_file.txt

Przy aktualizacji pliku w archiwum należy pamiętać o kilku szczegółach:

  • Jeśli pliku nowy_plik.txt nie ma jeszcze w archiwum, zostanie on dodany.
  • Jeśli w archiwum jest już plik o tej samej nazwie, ale jego zawartość na dysku została zmieniona, plik ten zostanie zastąpiony nową wersją.

Polecenie to można również wykorzystać dla wielu plików jednocześnie, na przykład:

zip -u archive.zip *.txt

Komenda ta zaktualizuje wszystkie pliki z rozszerzeniem .txt, które są już w archiwum, i doda nowe, jeśli jeszcze nie zostały uwzględnione.

  • -e — ustawia hasło dla archiwum:
zip -e archive.zip /file/path