ubuntu 预装了 unzip 和 zip 两个工具, 其他系统可能需要手动安装

压缩

zip 压缩命令的第一个参数指定压缩文件名, 后面的所有参数指定待压缩的文件或目录

  • 压缩文件: zip xxx.zip file …

  • 压缩目录: zip -r xxx.zip dir …

压缩目录时需要 -r 选项表示递归子目录, 不然只压缩一个空文件夹


测试目录的结构为:

.
├── Public
│   ├── get-pip.py
│   ├── ja-netfilter-v2.2.2.zip
│   ├── Sweet.tar.xz
│   └── vless-xtls-client.json
└── Test.txt

1 directory, 5 files

压缩时可以指定多个文件或目录, 指定目录时需要使用相对路径, 不然压缩文件将保留绝对路径

zip -r Test.zip Test.txt Public/

打印

  adding: Test.txt (stored 0%)
  adding: Public/ (stored 0%)
  adding: Public/ja-netfilter-v2.2.2.zip (stored 0%)
  adding: Public/get-pip.py (deflated 20%)
  adding: Public/vless-xtls-client.json (deflated 72%)
  adding: Public/Sweet.tar.xz (deflated 0%)

指定压缩文件名时可以省略后缀 .zip, 从而简写为:

zip -r Test Test.txt Public/

其结果与上面一致


使用密码 123456 加密压缩

zip -P 123456 Test_2.zip Test.txt

解压

格式: unzip Test.zip, 默认解压在当前路径

指定解压路径为桌面

unzip Test.zip -d ~/Desktop/

列举压缩文件的内容

unzip -l Test.zip

打印

Archive:  Test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2022-05-16 13:49   Test.txt
        0  2022-05-16 13:58   Public/
   129652  2022-05-16 13:58   Public/ja-netfilter-v2.2.2.zip
  2680203  2022-05-12 04:15   Public/get-pip.py
     1338  2022-05-16 13:56   Public/vless-xtls-client.json
   439908  2022-05-16 13:55   Public/Sweet.tar.xz
---------                     -------
  3251101                     6 files

有的压缩文件是在 Windows 下压缩的, 直接在 Linux 下解压会有乱码, 这时需要指定 GBK 编码

unzip -O GBK xxx.zip

直接解压加密后的压缩文件时, 会提示输入密码

$ unzip Test_2.zip
Archive:  Test_2.zip
[Test_2.zip] Test.txt password: 
 extracting: Test.txt

当然也可以在命令行指定密码

unzip -P 123456 Test_2.zip
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐