---
obj: concept
---

# ZIP
Zip is a popular file compression and archiving format that allows users to store and transfer large amounts of data more efficiently. Zip files can contain one or more files or folders, which are compressed and packaged into a single archive file with the ".zip" extension.

Zip files use a lossless data compression algorithm that reduces the size of the files being compressed without losing any of the data. The algorithm works by finding patterns in the data and replacing them with a shorter representation. The compressed data is then stored in the zip archive file.

Zip files can also include encryption and password protection for added security. This feature allows users to protect their files from unauthorized access, and ensures that sensitive data remains confidential.

## Advantages

The zip file format offers several advantages, including:

-   Efficient compression: Zip files can compress large files, reducing their size and making them easier to transfer over the internet or via email.
-   File organization: Zip files can contain multiple files and folders, which makes them an ideal format for organizing and transferring groups of related files.
-   Cross-platform compatibility: Zip files can be opened and extracted on most operating systems, including Windows, Mac, and [Linux](../linux/Linux.md).

## Usage
```bash
zip [options] archive.zip file1 file2 folder1
```

**Options:**
-   `-r`: Recursively include all files in subdirectories.
-   `-q`: Quiet mode, suppresses the output messages.
-   `-x`: Exclude specific files or folders from the archive.
-   `-P`: Set a password to protect the archive.
-   `-m`: Move the files into the archive instead of copying them.
-   `-j`: Store just the file names, without any directory information.
-   `-9`: Use maximum compression level (slower but smaller archive size).
-   `-1`: Use fastest compression level (faster but larger archive size).

**Examples:**
- Create a zip file named "archive.zip" that includes all files and folders in the "myfolder" directory: 
`zip archive.zip myfolder/`

- Create a zip file named "myfiles.zip" that includes only the files "file1.txt" and "file2.txt":
`zip myfiles.zip file1.txt file2.txt`

- Create a password-protected zip file named "secure.zip" that includes all files and folders in the "sensitive" directory:
`zip -P password secure.zip sensitive/`

- Create a zip file named "docs.zip" that excludes any files with the ".jpg" extension in the "documents" directory:
`zip -x "*.jpg" docs.zip documents/`

- Extract all files from the "myarchive.zip" file:
`unzip myarchive.zip`

- Extract only the files "file1.txt" and "file2.txt" from the "myarchive.zip" file:
`unzip myarchive.zip file1.txt file2.txt`

## Related File Formats
Zip files are commonly used in other [file formats](MIME.md) as a means of compressing and organizing data. Here are a few examples:
- Java Archive (JAR) Files
- OpenDocument Format (ODF) Files
- [Android](../systems/Android.md) Application Package (APK) Files
- [Comic Book Archive](Comic%20Book%20Archive.md)