linux zip 压缩文件夹命令
在 Linux 下压缩文件夹,最常用的命令是 zip
,但根据不同的需求(如压缩率、速度、跨平台兼容性),也可以选择 tar
+ gzip
/xz
等组合。以下是详细指南:
📦 方法 1:基本 zip
压缩(兼容 Windows/Mac)
# 压缩文件夹(含子目录)
zip -r 压缩包名称.zip 要压缩的文件夹/
# 示例:把 my_folder 压缩成 archive.zip
zip -r archive.zip my_folder/
# 添加密码保护(会提示输入密码)
zip -re secure.zip my_folder/
常用参数:
-r
:递归压缩(包括子目录)-e
:加密(会提示设置密码)-q
:静默模式(不显示压缩过程)-9
:最高压缩率(但速度慢)
⚡ 方法 2:tar
+ gzip
(更高压缩率,Linux 常用)
# 压缩成 .tar.gz(兼容性好)
tar -czvf 压缩包名称.tar.gz 要压缩的文件夹/
# 示例:
tar -czvf archive.tar.gz my_folder/
参数解释:
-c
:创建压缩包-z
:用 gzip 压缩-v
:显示进度(可省略)-f
:指定文件名
🔥 方法 3:tar
+ xz
(极限压缩,适合大文件)
# 压缩成 .tar.xz(超高压縮,但速度慢)
tar -cvJf archive.tar.xz my_folder/
适用场景:
- 需要最小化压缩包体积(比如发送大型数据集)
- CPU 性能较强时可使用
🎯 对比总结
命令 | 压缩格式 | 特点 | 适用场景 |
---|---|---|---|
zip -r | .zip | 跨平台,支持密码 | 分享给 Windows/Mac 用户 |
tar -czvf | .tar.gz | 平衡压缩率和速度 | Linux 常规备份 |
tar -cvJf | .tar.xz | 超高压缩率,但耗时 | 存储大型静态数据 |
💡 实用技巧
-
排除特定文件(比如临时文件):
zip -r archive.zip my_folder/ -x "*.tmp" "*.log"
-
分卷压缩(适合传输大文件):
zip -r -s 500m archive.zip my_folder/ # 每个分卷500MB
-
查看压缩包内容:
unzip -l archive.zip # 查看zip包内容 tar -tzvf archive.tar.gz # 查看tar.gz包内容
⚠️ 注意事项
- 如果系统没有
zip
/unzip
,先安装:sudo apt install zip unzip # Ubuntu/Debian sudo yum install zip unzip # CentOS/RHEL
- 路径问题:建议在要压缩的文件夹上级目录执行命令,避免压缩包包含冗长路径。