在Linux系统中,文件打包和压缩是常见的操作,主要通过tar、gzip、bzip2、xz等工具实现。以下是详细方法总结:
| 工具 | 命令 | 后缀名 | 特点 |
|---|---|---|---|
tar |
tar |
.tar |
仅打包,不压缩 |
gzip |
gzip |
.gz |
压缩速度快,通用 |
bzip2 |
bzip2 |
.bz2 |
压缩比高,速度较慢 |
xz |
xz |
.xz |
压缩比最高,速度最慢 |
zip |
zip |
.zip |
跨平台兼容(Windows/Linux) |
tar -cvf archive.tar /path/to/files # 打包文件/目录
-c: 创建归档-v: 显示过程-f: 指定文件名gzip压缩(.tar.gz 或 .tgz):
tar -czvf archive.tar.gz /path/to/files
-z: 调用gzip压缩bzip2压缩(.tar.bz2):
tar -cjvf archive.tar.bz2 /path/to/files
-j: 调用bzip2压缩xz压缩(.tar.xz):
tar -cJvf archive.tar.xz /path/to/files
-J: 调用xz压缩zip压缩:
zip -r archive.zip /path/to/files # -r: 递归目录
.tar归档tar -xvf archive.tar # 解包到当前目录
tar -xvf archive.tar -C /target/path # 解包到指定路径
.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
tar -tf archive.tar.gz # 不解压查看文件列表
tar -czvf - /path/to/files | split -b 2G - archive_part.tar.gz
# 合并分卷:cat archive_part.tar.gz* | tar -xzvf -
tar -czvf archive.tar.gz --exclude='*.log' /path/to/files
gzip(速度最快,压缩比中等)xz(适合存储,耗时较长)zip(跨平台共享)通过以上命令组合,可以灵活应对Linux下的文件打包与压缩需求。根据场景选择工具平衡速度与压缩率。