Skip to content

zip Command Cheat Sheet

zip is a compression and file packaging utility for Unix. The default extension is .zip.


Synopsis

zip [options] archive.zip file1 file2...

Basic Usage

Archive Files

zip logs.zip log1.txt log2.txt

Archive Directory (Recursive -r)

Crucial: Without -r, zip only stores the empty directory name, not contents.

zip -r project.zip project_folder/

Advanced Features

Compression Level (-0 to -9)

  • -0: Store only (no compression). Fast.
  • -1: Fastest compression.
  • -9: Best compression (slower).
  • -6: Default.
zip -9 -r full-backup.zip /data

Password Protection (-e)

Encrypt the contents. You will be prompted for a password.

zip -e secure.zip secrets.txt

Exclude Files (-x)

Exclude files matching a pattern.

zip -r output.zip . -x "*.git*" -x "*.tmp"

Modifying Archives

Update Existing Archive (-u)

Only add changed/new files to the existing zip.

zip -u archive.zip newfile.txt

Delete File from Archive (-d)

zip -d archive.zip unwanted_file.txt

Split Archives (-s)

Split a large archive into smaller chunks (e.g., for email limits).

# Create splits of 50MB
zip -s 50m -r large.zip large_directory/

Notes

  • Unzip: Use unzip to extract.
  • Hidden Files: zip -r usually includes hidden files (starting with .) inside directories.