linux下的极限压缩与解压

本文介绍如何使用tar和xz工具将大文件压缩至20M以内以便通过Outlook等邮件客户端发送。通过采用LZMASDK压缩算法,.xz格式能够比gzip和.bz2格式实现更小的压缩文件,特别适合于压缩大型工程文件。

前言

前几天通过outlook发送文件,发现邮件附件的大小被限制为20M以内,常规的压缩方法根本把80M的文件压缩不到20M以内所以得寻找其他方法,首先从tar入手。

tar是用来建立,还原压缩文件的工具,它可以加入,解开压缩文件内的文件。有时候一个上百兆的工程文件我们想尽可能的多压缩到最小以方便传输,可以压缩为.xz后缀。xz是一种压缩文件格式,采用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或·tgz)小30%,较·bz2小15%。

使用方法

解压:

tar -xf /root/test.tar.xz -C /root/

压缩:

tar -cJvf test.tar.xz test/

备注:

-c或--create 建立新的压缩文件。

-C<目的目录>或--directory=<目的目录> 解压到指定的目录

-x或--extract或--get 从压缩文件中还原文件。

-v或--verbose 显示指令执行过程。

-f<压缩文件>或--file=<压缩文件> 指定压缩文件。

-J<压缩文件> 压缩为xz格式。

<think>我们正在讨论Linux系统中的压缩打包方法。根据引用[1],我们知道tar命令用于打包,但不负责压缩。用户想了解完整的压缩打包方法,因此我们需要介绍常见的压缩工具tar的结合使用。 常见的压缩方式有:gzip(.tar.gz或.tgz)、bzip2(.tar.bz2)、xz(.tar.xz)等。 我们将分别介绍如何打包并压缩,以及如何解压这些格式。 </think>### Linux系统中压缩打包方法总结 在Linux系统中,最常见的压缩打包工具是`tar`命令,它通常压缩算法(如gzip、bzip2、xz)结合使用。以下是常用方法和实例: #### 基础打包(不压缩) ```bash # 将目录打包成.tar文件(c=创建 v=显示过程 f=指定文件名) tar -cvf archive_name.tar directory_to_compress ``` #### 常用压缩打包组合: 1. **gzip压缩**(.tar.gz 或 .tgz): ```bash # 打包并压缩(z=gzip) tar -czvf archive_name.tar.gz directory_to_compress ``` - 解压命令: ```bash tar -xzvf archive_name.tar.gz ``` 2. **bzip2压缩**(.tar.bz2): ```bash # 打包并压缩(j=bzip2) tar -cjvf archive_name.tar.bz2 directory_to_compress ``` - 解压命令: ```bash tar -xjvf archive_name.tar.bz2 ``` 3. **xz压缩**(.tar.xz): ```bash # 打包并压缩(J=xz) tar -cJvf archive_name.tar.xz directory_to_compress ``` - 解压命令: ```bash tar -xJvf archive_name.tar.xz ``` #### 实用技巧 - **查看压缩包内容**(不解压): ```bash tar -tf archive_name.tar.gz ``` - **添加文件到现有压缩包**: ```bash tar -rvf existing.tar newfile.txt ``` - **排除特定文件**: ```bash tar -czvf backup.tar.gz --exclude='*.log' /path/to/dir ``` #### 性能对比(压缩率/速度) | 格式 | 压缩率 | 速度 | 适用场景 | |-----------|--------|-------|-----------------------| | .tar | 无 | 最快 | 仅需打包时 | | .tar.gz | 中等 | 快 | 通用场景(最佳平衡) | | .tar.bz2 | 较高 | 较慢 | 需要较高压缩率 | | .tar.xz | 最高 | 最慢 | 极限压缩需求 | > 注:`tar`本身只负责打包,配合压缩参数(z/j/J)才能实现压缩功能。现代Linux系统通常预装所有必需工具[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值