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

Linux 系统中打包与压缩

以下是 Linux 系统中 打包与压缩 的核心操作指南,涵盖常用命令、格式对比及典型场景应用:


一、核心概念

  1. 打包(Archiving)

    • 将多个文件或目录合并为一个文件(如 .tar),不改变文件体积
    • 常用工具tar(Tape Archive)。
  2. 压缩(Compression)

    • 通过算法减少文件体积(如 .gz.bz2),牺牲时间换空间
    • 常用工具gzipbzip2xzzip

二、常用打包与压缩命令

1. tar(打包核心工具)
  • 基础用法

    # 打包目录为 .tar 文件
    tar -cvf archive.tar /path/to/dir
    
    # 打包文件(保留权限)
    tar -cvpf backup.tar file1 config.conf
    
  • 常用选项

    选项说明
    -c创建归档文件
    -x解包
    -v显示详细过程(Verbose)
    -f指定文件名
    -p保留文件权限
    -z/j/J调用 gzip/bzip2/xz 压缩

2. 压缩格式与组合命令
(1) tar.gz(或 .tgz
  • 高压缩率,通用性强
    # 将 /path/to/dir打包并压缩为 archive.tar.gz
    tar -czvf archive.tar.gz /path/to/dir
    
    # 解压  archive.tar.gz到当前目录
    tar -xzvf archive.tar.gz
    
    #解压.tar.gz到指定目录“../server”
    tar zxvf archive.tar.gz -C ../server
    
    
(2) tar.bz2
  • 更高压缩率,速度较慢
    # 打包并压缩为 .tar.bz2
    tar -cjvf archive.tar.bz2 /path/to/dir
    
    # 解压 .tar.bz2
    tar -xjvf archive.tar.bz2
    
(3) tar.xz
  • 最高压缩率,速度最慢
    # 打包并压缩为 .tar.xz
    tar -cJvf archive.tar.xz /path/to/dir
    
    # 解压 .tar.xz
    tar -xJvf archive.tar.xz
    
(4) zip / unzip
  • 跨平台兼容性好
    # 压缩目录(需安装 zip)
    zip -r archive.zip /path/to/dir
    
    # 解压 .zip
    unzip archive.zip
    

三、其他实用工具

1. gzip / gunzip
  • 仅压缩单个文件(不打包)
    gzip file.txt        # 生成 file.txt.gz,原文件被删除
    gunzip file.txt.gz   # 解压恢复 file.txt
    gzip -k file.txt     # 保留原文件
    
2. bzip2 / bunzip2
  • 压缩率高于 gzip
    bzip2 large_log.log  # 生成 large_log.log.bz2
    bunzip2 large_log.log.bz2
    
3. 7z(高压缩率工具)
  • 支持分卷压缩、加密等高级功能
    # 安装 p7zip
    sudo apt install p7zip-full  # Debian/Ubuntu
    sudo dnf install p7zip-plugins # Fedora
    
    # 压缩为 .7z
    7z a archive.7z /path/to/dir
    
    # 解压 .7z
    7z x archive.7z
    

四、查看与验证

1. 查看压缩包内容
# 查看 tar.gz 内容
tar -tzvf archive.tar.gz

# 查看 zip 内容
unzip -l archive.zip

# 查看 gzip 压缩文件内容(不解压)
zcat file.txt.gz
2. 校验压缩包完整性
# 生成校验值
sha256sum archive.tar.gz > checksum.txt

# 验证文件
sha256sum -c checksum.txt

五、典型场景与推荐命令

场景推荐命令说明
快速压缩单个文件gzip file.txt生成 .gz 文件
打包目录并压缩tar -czvf dir.tar.gz dir/平衡速度与压缩率
高压缩率备份大文件tar -cJvf backup.tar.xz /data牺牲时间换取最大压缩率
跨平台共享文件zip -r share.zip project/兼容 Windows/macOS
实时监控日志压缩`tail -f log.txtgzip > log.gz`

六、注意事项

  1. 压缩层级选择
    • 日常使用 .tar.gz.zip 足够。
    • 冷数据归档可选 .tar.xz.7z
  2. 保留原文件:添加 -k 参数(如 gzip -k)。
  3. 分卷压缩:处理超大文件时用 split7z 分卷。
    split -b 100M large_file.tar.gz part_  # 分割为 100MB 每个文件
    

相关文章:

  • stm32工程,拷贝到另一台电脑编译,错误提示头文件找不到cannot open source input file “core_cm4.h”
  • Python数据可视化-第7章-绘制3D图表和统计地图
  • redis cluster 的通信机制
  • 【深度洞察】解码饮料行业破局点:场景革命
  • 嵌入式面试题:C 语言核心考点经典例题
  • Kubernetes容器编排与云原生实践
  • 相机回调函数为静态函数原因
  • 以太坊区块大小的决定因素:深入解析区块 Gas 限制及其影响
  • java 怎样解析jwt中的payload
  • 华清远见成都中心嵌入式学习总结
  • 【图书管理系统】深入解析基于 MyBatis 数据持久化操作:全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 免费下载 | 2025电力数据资产管理体系白皮书
  • Spring Cloud Gateway 具体的实现案例
  • Nacos服务发现和配置管理
  • 基于 Q - learning 算法的迷宫导航
  • <C#> 详细介绍.NET 依赖注入
  • WPF设计标准学习记录26
  • P8748 [蓝桥杯 2021 省 B] 时间显示
  • 【后端开发】初识Spring IoC与SpringDI、图书管理系统
  • 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 菏泽网站建设网站/鞍山做网站的公司
  • 做百度网站哪家公司好/百度官方网站首页
  • 常州做网站多少钱/网络推广协议合同范本
  • 建造师官网/seo技术分享免费咨询
  • 做网站一般几个人/广告联盟推广
  • 网站app建站多少钱/网络广告营销经典案例