zip în Linux / Bash

Creează arhive comprimate în format standard ZIP, compatibile cu Windows și macOS.

Sintaxă comandă
zip [opțiuni] arhiva.zip fișiere...

Ce face zip

Spre deosebire de combinația tar + gzip (specifică ecosistemului Linux), comanda zip efectuează atât împachetarea fișierelor și directoarelor, cât și compresia lor într-un singur pas, generând arhive recunoscute nativ pe orice sistem de operare.

Pentru a include directoare și tot conținutul lor este obligatoriu să folosești opțiunea recursivă -r.

Opțiuni și argumente

Opțiune / Parametru Descriere
-r, --recurse-paths Include recursiv toate directoarele și fișierele din interior.
-e, --encrypt Criptează arhiva și cere o parolă de acces.
-q, --quiet Mod silențios fără mesaje în terminal.
-u, --update Actualizează arhiva adăugând doar fișierele noi sau modificate.
-9 Aplică cel mai înalt nivel de compresie.

Exemple

Exemplul 1: Crearea unei arhive ZIP dintr-un director

Împachetăm folderul de proiect pentru a fi trimis unui coleg pe Windows.

mkdir -p cod_sursa
echo 'print("test")' > cod_sursa/main.py
zip -r -q proiect.zip cod_sursa
unzip -l proiect.zip | grep "main.py"

Rezultat

       14  10-22-2026 23:32   cod_sursa/main.py

Greșeli frecvente

  • Arhivarea unui director fără parametrul -r, ceea ce salvează doar intrarea de folder gol în arhivă fără fișierele din el.

Comenzi înrudite

  • unzip: Listează, testează și extrage conținutul din arhivele ZIP.
  • tar: Împachetează mai multe fișiere într-o singură arhivă (tarball) și o comprimă opțional cu gzip sau bzip2.
  • gzip: Comprimă fișiere individuale folosind algoritmul Lempel-Ziv (LZ77) și adaugă extensia .gz.