在 Linux 系统中,打包、压缩和归档是常见的文件管理操作。以下是相关工具和命令的详细说明:
1. 打包(归档)
作用:将多个文件或目录合并为一个文件(不压缩),便于传输或备份。
常用工具:tar
# 将多个文件/目录打包为 .tar 文件
tar -cvf archive.tar file1 file2 dir1/
# 参数说明:
# -c: 创建归档
# -v: 显示详细过程(可选)
# -f: 指定输出文件名
# 解包 .tar 文件
tar -xvf archive.tar
# 解包到指定目录
tar -xvf archive.tar -C /target/directory
2. 压缩
作用:减小文件体积,节省存储空间。
常用压缩工具及对应扩展名
工具 | 扩展名 | 命令示例 |
---|---|---|
gzip | .gz | gzip file 或 tar -czvf archive.tar.gz dir/ |
bzip2 | .bz2 | bzip2 file 或 tar -cjvf archive.tar.bz2 dir/ |
xz | .xz | xz file 或 tar -cJvf archive.tar.xz dir/ |
zip | .zip | zip archive.zip file1 file2 |
组合打包+压缩
# 使用 gzip 压缩(.tar.gz)
tar -czvf archive.tar.gz dir/
# 使用 bzip2 压缩(.tar.bz2)
tar -cjvf archive.tar.bz2 dir/
# 使用 xz 压缩(.tar.xz)
tar -cJvf archive.tar.xz dir/
# 使用 zip 压缩(需单独安装)
zip -r archive.zip dir/
解压
# 解压 .tar.gz
tar -xzvf archive.tar.gz
# 解压 .tar.bz2
tar -xjvf archive.tar.bz2
# 解压 .tar.xz
tar -xJvf archive.tar.xz
# 解压 .zip
unzip archive.zip
3. 查看压缩包内容
# 查看 .tar.gz 内容
tar -tzvf archive.tar.gz
# 查看 .zip 内容
unzip -l archive.zip
4. 其他实用工具
-
split
:分割大文件split -b 100M largefile.tar.gz part_ # 分割为 100MB 的 part_aa, part_ab... cat part_* > largefile.tar.gz # 合并分割文件
-
7z
(需安装p7zip
)7z a archive.7z dir/ # 打包+压缩 7z x archive.7z # 解压
5. 工具对比
工具 | 压缩率 | 速度 | 兼容性 |
---|---|---|---|
gzip | 中等 | 快 | 高 |
bzip2 | 高 | 慢 | 中 |
xz | 最高 | 最慢 | 中 |
zip | 中等 | 中等 | 广泛 |
6. 注意事项
- 压缩率 vs 速度:
xz
压缩率最高但最慢,gzip
平衡较好。 - 跨平台:
.zip
兼容性最好(Windows/Linux/macOS 均支持)。 - 默认工具:现代 Linux 系统通常预装
tar
和gzip
/bzip2
,其他工具可能需要手动安装。
根据需求选择合适的工具即可!