当前位置: 首页 > news >正文

Linu压缩解压

在Linux系统中,压缩和解压是日常操作的重要组成部分,用于节省存储空间、传输文件或归档数据。以下是常用的压缩工具及其命令用法:

一、基础压缩格式

1. .zip 格式
  • 压缩zip 命令(需先安装,如 sudo apt install zip
    zip archive.zip file1.txt file2.jpg  # 压缩多个文件
    zip -r folder.zip myfolder/          # 递归压缩目录
    
  • 解压unzip 命令
    unzip archive.zip               # 解压到当前目录
    unzip archive.zip -d /target/   # 解压到指定目录
    
2. .tar 格式(归档,不压缩)
# 创建 tar 包
tar -cvf archive.tar file1.txt dir/  # c=创建,v=显示进度,f=指定文件名# 解压 tar 包
tar -xvf archive.tar                # x=提取,v=显示进度,f=指定文件名
tar -xvf archive.tar -C /target/    # 解压到指定目录
3. .tar.gz.tgz 格式(tar + gzip 压缩)
# 压缩(等价于先 tar 再 gzip)
tar -czvf archive.tar.gz file1.txt dir/  # z=gzip 压缩# 解压
tar -xzvf archive.tar.gz
4. .tar.bz2 格式(tar + bzip2 压缩,比 gzip 压缩率更高)
# 压缩
tar -cjvf archive.tar.bz2 file1.txt dir/  # j=bzip2 压缩# 解压
tar -xjvf archive.tar.bz2
5. .tar.xz 格式(tar + xz 压缩,压缩率最高,速度较慢)
# 压缩
tar -cJvf archive.tar.xz file1.txt dir/  # J=xz 压缩# 解压
tar -xJvf archive.tar.xz

二、其他压缩格式

6. .gz 格式(单个文件压缩,非目录)
# 压缩(会删除原文件)
gzip file.txt        # 生成 file.txt.gz# 解压(会删除原压缩文件)
gunzip file.txt.gz   # 恢复为 file.txt
gzip -d file.txt.gz  # 同上
7. .bz2 格式
# 压缩
bzip2 file.txt       # 生成 file.txt.bz2# 解压
bunzip2 file.txt.bz2
bzip2 -d file.txt.bz2
8. .xz 格式
# 压缩
xz file.txt          # 生成 file.txt.xz# 解压
unxz file.txt.xz
xz -d file.txt.xz
9. .7z 格式(高压缩率,需安装 p7zip)
# 安装
sudo apt install p7zip-full  # Debian/Ubuntu# 压缩
7z a archive.7z file1.txt dir/  # a=添加到压缩包# 解压
7z x archive.7z                # x=解压(保留路径)
7z e archive.7z                # e=解压(不保留路径)

三、常用选项

选项含义适用命令
-v显示详细进度所有压缩/解压命令
-r递归处理目录zip7z
-C指定解压目标目录tarunzip7z
-f指定压缩文件名tarzip7z
-k保留原文件(不解压时删除)gzipbzip2xz
-9最高压缩比(速度较慢)zip7z

四、实战技巧

1. 查看压缩包内容
unzip -l archive.zip       # 查看 zip 包内容
tar -tf archive.tar.gz     # 查看 tar 包内容
7z l archive.7z            # 查看 7z 包内容
2. 压缩时排除特定文件/目录
# tar 排除目录
tar -czvf archive.tar.gz --exclude=dir/logs/ dir/# zip 排除目录
zip -r archive.zip dir/ -x "dir/logs/*"
3. 压缩加密
# zip 加密(需输入密码)
zip -e secure.zip file.txt# 7z 加密(压缩和内容均加密)
7z a -pMyPassword secure.7z file.txt

五、命令对比表

格式压缩命令解压命令特点
.zipzip -r archive.zip dir/unzip archive.zipWindows/Linux 通用,支持加密
.tartar -cvf archive.tar dir/tar -xvf archive.tar仅归档,不压缩
.tar.gztar -czvf archive.tar.gz dir/tar -xzvf archive.tar.gz最常用,平衡压缩率和速度
.tar.bz2tar -cjvf archive.tar.bz2 dir/tar -xjvf archive.tar.bz2压缩率更高,速度较慢
.tar.xztar -cJvf archive.tar.xz dir/tar -xJvf archive.tar.xz压缩率最高,适合大文件
.7z7z a archive.7z dir/7z x archive.7z压缩率极高,支持多线程

六、常见问题

  1. 中文文件名乱码

    # unzip 解压含中文的 zip 包
    unzip -O CP936 archive.zip  # Windows 系统创建的 zip 包
    unzip -O UTF-8 archive.zip  # Linux 系统创建的 zip 包
    
  2. 压缩大文件

    # 使用 pigz 替代 gzip(多线程加速)
    tar -cvf - dir/ | pigz -9 > archive.tar.gz  # 需先安装 pigz
    
  3. 分卷压缩(适合传输)

    # zip 分卷(每卷 100MB)
    zip -r -s 100m archive.zip dir/# 7z 分卷
    7z a -v100m archive.7z dir/
    

相关文章:

  • 平台组成-报表平台
  • 从台式电脑硬件架构看前后端分离开发模式
  • FPGA设计的用户约束
  • 基于微信小程序的旅游景点推荐设计与实现
  • PG靶机复现 Squid
  • ARM64 linux系统的一般执行过程
  • ​​Git提交代码Commit消息企业级规范
  • Qwen VLo :一个多模态统一理解与生成模型
  • PICkit3编程器MCLR引脚全解析
  • 汇总表支持表头分组,查询组件查询框可以调整高度,DataEase开源BI工具v2.10.11 LTS版本发布
  • 面向对象Plus(2/2)
  • 鸿蒙 SideBarContainer 开发攻略:侧边栏交互设计与多端适配
  • 设计在线教育项目核心数据库表
  • 2024百度之星:BD202404 110串
  • 判定表测试
  • Django ORM 1. 创建模型(Model)
  • yaml 导致的原型污染 -- GPN CTF 2025 Secure by Default
  • 基于51单片机-蜂鸣器演奏《飞雪玉花》
  • 编译原理---文法和语法分析
  • 利用python实现NBA数据可视化