插件窝 干货文章 linux压缩命令有哪些

linux压缩命令有哪些

压缩 文件 tar 解压 756    来源:    2025-05-01

Linux 系统中有多种压缩和解压缩文件的命令,以下是一些常用的压缩命令及其用法:


1. tar

功能:打包和压缩文件/目录(常与 gzip/bzip2/xz 结合使用)。
常用选项
- -c:创建归档文件
- -x:解压归档文件
- -z:使用 gzip 压缩/解压(.tar.gz.tgz
- -j:使用 bzip2 压缩/解压(.tar.bz2
- -J:使用 xz 压缩/解压(.tar.xz
- -v:显示详细过程
- -f:指定文件名

示例

# 压缩为 .tar.gz
tar -czvf archive.tar.gz /path/to/dir

# 解压 .tar.gz
tar -xzvf archive.tar.gz

# 压缩为 .tar.bz2
tar -cjvf archive.tar.bz2 /path/to/dir

# 压缩为 .tar.xz
tar -cJvf archive.tar.xz /path/to/dir

2. gzip / gunzip

功能:压缩为 .gz 格式(默认删除源文件)。
示例

# 压缩文件(生成 file.txt.gz,删除原文件)
gzip file.txt

# 解压 .gz 文件
gunzip file.txt.gz

# 保留原文件压缩
gzip -c file.txt > file.txt.gz

3. bzip2 / bunzip2

功能:压缩为 .bz2 格式(压缩率比 gzip 更高,但更慢)。
示例

# 压缩文件(生成 file.txt.bz2)
bzip2 file.txt

# 解压 .bz2 文件
bunzip2 file.txt.bz2

# 保留原文件压缩
bzip2 -k file.txt

4. xz / unxz

功能:压缩为 .xz 格式(压缩率最高,但速度较慢)。
示例

# 压缩文件(生成 file.txt.xz)
xz file.txt

# 解压 .xz 文件
unxz file.txt.xz

# 保留原文件压缩
xz -k file.txt

5. zip / unzip

功能:跨平台的压缩格式(Windows/Linux 通用)。
示例

# 压缩文件/目录
zip -r archive.zip /path/to/dir

# 解压 .zip 文件
unzip archive.zip

6. 7z

功能:高压缩率工具(需安装 p7zip 包)。
安装

sudo apt install p7zip-full  # Debian/Ubuntu
sudo yum install p7zip       # CentOS/RHEL

示例

# 压缩文件/目录
7z a archive.7z /path/to/dir

# 解压 .7z 文件
7z x archive.7z

对比总结

命令 格式 特点 适用场景
tar .tar.* 多格式支持,需组合参数 目录打包+压缩
gzip .gz 速度快,压缩率一般 单文件快速压缩
bzip2 .bz2 压缩率高,速度慢 需要更高压缩率
xz .xz 压缩率最高,速度最慢 极限压缩需求
zip .zip 跨平台兼容 与 Windows 共享文件
7z .7z 超高压缩率 节省存储空间

其他技巧

  1. 查看压缩文件内容

    tar -tf archive.tar.gz  # 查看 .tar.gz 内容
    unzip -l archive.zip    # 查看 .zip 内容
    
  2. 分卷压缩(大文件拆分):

    tar -czvf - /path/to/dir | split -b 100M - archive.tar.gz.
    # 合并分卷:cat archive.tar.gz.* | tar -xzvf -
    
  3. 快速压缩对比

    time gzip file.txt      # 测试压缩时间和大小
    time bzip2 file.txt
    

根据需求选择工具:追求速度用 gzip,追求压缩率用 xz7z,需兼容性用 zip