🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
⛳️ 推荐
📦 一、主流工具命令速查表
🔑 tar 与压缩工具组合(核心!)
⚙️ 二、高频实用技巧
📊 三、工具特性对比与选型建议
⚠️ 四、关键注意事项
🌟 五、最佳实践总结
在 Linux 中,文件压缩与解压缩需区分两个核心概念:
🔹归档(Archiving):将多个文件/目录合并为单个文件(如tar)
🔹压缩(Compression):减小文件体积(如gzip、xz)
实际使用中常组合操作(如tar.gz= 归档 + 压缩)。以下是系统化指南:
📦 一、主流工具命令速查表
| 操作类型 | 命令示例 | 说明 |
|---|---|---|
| gzip | gzip file→file.gzgunzip file.gzzcat file.gz | 快速压缩,.gz后缀;压缩后原文件消失 |
| bzip2 | bzip2 file→file.bz2bunzip2 file.bz2 | 压缩率高于 gzip,速度较慢 |
| xz | xz file→file.xzunxz file.xzxz -d file.xz | 高压缩率(适合大文件),解压慢 |
| zip | zip -r archive.zip dir/unzip archive.zipunzip -l archive.zip | 跨平台(Windows 兼容),保留目录结构 |
| tar(归档+压缩) | 见下表 | 最常用组合方案 |
🔑 tar 与压缩工具组合(核心!)
| 目标格式 | 压缩命令 | 解压命令 | 查看内容 | 说明 |
|---|---|---|---|---|
.tar.gz/.tgz | tar -czvf arch.tar.gz dir/ | tar -xzvf arch.tar.gz | tar -tzvf arch.tar.gz | -z: gzip 压缩(最通用) |
.tar.bz2 | tar -cjvf arch.tar.bz2 dir/ | tar -xjvf arch.tar.bz2 | tar -tjvf arch.tar.bz2 | -j: bzip2 压缩 |
.tar.xz | tar -cJvf arch.tar.xz dir/ | tar -xJvf arch.tar.xz | tar -tJvf arch.tar.xz | -J: xz 压缩(高压缩率) |
.zip | zip -r arch.zip dir/ | unzip arch.zip | unzip -l arch.zip | 无需 tar,zip 自带归档能力 |
💡tar 选项速记:
-c=创建归档,-x=解包,-t=列表,-v=显示过程,-f=指定文件,-z/j/J=压缩方式,-C=指定解压目录
⚙️ 二、高频实用技巧
# 1. 保留原文件(gzip/bzip2/xz 默认删除源文件!) gzip -k file # gzip 1.6+ 支持 -k 保留原文件 bzip2 -k file xz -k file # 2. 指定解压目录(避免文件散落当前目录) tar -xzvf arch.tar.gz -C /target/path unzip arch.zip -d /target/path # 3. 仅解压部分文件 tar -xzvf arch.tar.gz path/to/file1 path/to/dir/ unzip arch.zip "*/config.ini" # 4. 查看压缩包内容(不解压!防路径遍历攻击) tar -tzvf arch.tar.gz | grep "敏感路径" unzip -l arch.zip # 5. 高级:多线程压缩(大幅提升大文件速度) # 安装 pigz / pbzip2 / pixz(parallel versions) tar -I pigz -cvf arch.tar.gz dir/ # pigz = parallel gzip tar -I "pixz -9" -cvf arch.tar.xz dir/ # 6. 流式压缩(适合管道处理) cat data.log | gzip > data.log.gz curl http://example.com/data.tar.gz | tar -xzv📊 三、工具特性对比与选型建议
| 工具 | 压缩率 | 速度 | 跨平台 | 适用场景 |
|---|---|---|---|---|
| gzip | 中 | ⚡ 快 | ✅ | 日志轮转、通用场景(首选) |
| bzip2 | 高 | 🐢 慢 | ✅ | 中等大小文件,需较好压缩率 |
| xz | 🔝 极高 | 🐌 很慢 | ✅ | 软件分发、ISO 镜像(空间敏感) |
| zstd | 可调 | ⚡⚡ 极快 | ✅ | 现代推荐:tar -I zstd -cvf arch.tar.zst(平衡速度/压缩率) |
| zip | 中 | 中 | ✅✅ | 与 Windows 用户交换文件 |
💡zstd 优势:压缩率接近 xz,速度接近 gzip,支持多线程(
-T0自动线程数),日益成为新标准。
⚠️ 四、关键注意事项
- 安全第一:
- 解压前务必
tar -tzvf或unzip -l检查内容,防范Zip Slip 攻击(路径遍历:../../etc/passwd) - 优先使用
-C指定安全目录解压
- 解压前务必
- 磁盘空间:
- 压缩大文件前确认剩余空间(临时文件可能占双倍空间)
- 解压前用
du -sh arch.tar.gz估算解压后大小
- 权限与属性:
tar默认保留权限/所有者(需 root 解压特殊权限文件)- 跨系统传输时注意:Windows zip 可能丢失 Linux 权限
- 符号链接:
tar默认保留软链接(-h可解引用为实际文件)
🌟 五、最佳实践总结
| 需求 | 推荐方案 |
|---|---|
| 日常备份/传输 | tar -czvf backup.tar.gz /data(gzip 平衡性最佳) |
| 极致压缩(存档) | tar -cJvf archive.tar.xz /data或tar -I zstd -cvf arch.tar.zst |
| 与 Windows 协作 | zip -r shared.zip project/ |
| 保留原文件压缩 | gzip -k file或pigz -k file |
| 快速压缩大文件 | tar -I "pigz -p 8" -cvf fast.tar.gz dir/(8线程) |
💎核心原则:
- 单文件压缩 → 选
gzip/xz/zstd- 多文件/目录 →必用
tar归档+ 压缩工具组合- 安全第一:解压前检查内容,指定安全目录
- 现代系统优先尝试zstd(
sudo apt install zstd),体验速度与压缩率的完美平衡!
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙