在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下的文件打包与压缩需求。根据场景选择工具平衡速度与压缩率。