轻松解压:Linux下如何使用LZMA解压文件 (linux lzma 解压)

LZMA是一种高效的数据压缩算法,它可以将数据压缩到很小的体积,并且还能保持压缩后的数据完整性。LZMA算法得到了广泛的应用,尤其是在Linux系统中。不过,如果你在Linux系统下面还不知道如何使用LZMA解压缩文件,那么本文将为你提供详细的教程。

LZMA文件格式

LZMA文件通常以“.lzma”为扩展名,并且它们可以在Linux系统上进行处理。用户可以使用LZMA压缩算法将文件压缩成.lzma格式,以便于在网络上传输或存储。一些软件程序也使用LZMA文件格式,比如Ubuntu的.deb安装包就使用了LZMA算法进行压缩。

Linux系统使用LZMA解压缩文件的方法

在Linux系统上,LZMA解压缩文件可以使用两种方法:使用LZMA工具或使用命令行工具tar。下面分别介绍这两种方法的具体步骤。

使用LZMA工具解压缩

LZMA工具包是一个开源软件,它可以用于在Linux系统上压缩和解压缩LZMA格式的文件。如果你想在Linux系统上使用LZMA工具进行解压缩,你需要遵循以下步骤:

1. 打开终端:进入LZMA文件所在的目录,右击目录的空白处可以选择“打开终端”或者“打开命令行窗口”。

2. 安装LZMA工具:如果你的Linux系统中没有安装LZMA工具,你需要先安装它。在Ubuntu系统中,你可以使用以下命令在终端中安装LZMA:

sudo apt-get install xz-utils

3. 解压LZMA文件:在终端中输入以下命令行代码:

unxz filename.lzma

其中,filename.lzma是你需要解压缩的文件名。当你运行以上命令后,LZMA工具会解压缩该文件并在同一目录下生成一个新的未压缩文件。

使用tar命令行工具解压缩

tar命令行工具是一种强大的文件压缩和解压缩工具,它可以用来创建.tar和.tar.gz格式的压缩文件。在Linux系统中,tar命令行工具可以用来解压缩LZMA文件。如果你想在Linux系统上使用tar工具进行解压缩,你需要遵循以下步骤:

1. 打开终端:进入LZMA文件所在的目录,并打开终端。

2. 解压LZMA文件:在终端中输入以下命令行代码:

tar -xJvf filename.lzma

当你运行以上命令后,tar命令行工具会解压缩该文件并在同一目录下生成一个新的未压缩文件。

如果你想在Linux系统下解压缩LZMA文件,这两种方法都非常实用且有效。使用LZMA工具的方法适用于需要在Linux系统中经常处理LZMA文件的用户,但如果你只是偶尔需要解压缩一个LZMA文件,则使用tar命令行工具是更方便的一种方法。 无论你使用哪种方式,这一过程都非常简单和易于理解。

相关问题拓展阅读:

为什么linux中打包后的tar文件比原文件大

简单地说”tar”命令其实不是压缩命令,参考的资料说”tar”只是打包而已,把文件首尾相升闭连然后增加一些东西以便于解开,,所以不是压缩..稍微大一点也正常,,说的具体的话我也搞不清楚,,大概跟你纯春一样刚做笑耐接触linux,,,我是引用

这份pdf第38页的内容,如果要仔细了解你可以下载来看下..

tar本身只是一个打包工具,把多个文件圆闭或目录打包成一个文件,方便保存和传输。打包后的文件有一些额外信息,导致文件变大。猛雀但是tar也提供了一些参数,在打包的过程中进行压缩,这样得到的文件就会比较小;相应的,解包的时候也要有对应的参数进行解压枝腔早。

tar –help

…….

Compression options:

-a, –auto-compressuse archive suffix to determine the compression

program

-I, –use-compress-program=PROG

filter through PROG (must accept -d)

-j, –bzip filter the archive through bzip2

-J, –xz filter the archive through xz

lzip filter the archive through lzip

lzma filter the archive through xz

lzop

no-auto-compress do not use archive suffix to determine the

compression program

-z, –gzip, –gunzip, –ungzip filter the archive through gzip

-Z, –compress, –uncompress filter the archive through compress

……

例如下面的例子,使用gzip进行压缩和解压:

tar -czf file.tar.gz ./file

tar -zxf file.tar.gz

lzmaDecode 是什么算法?

注意下调用lzma库时输入输入的参数,buffer的大小等等.

LZMA,(Lempel-Ziv-Markov chain-Algorithm的缩写),是一个Deflate和LZ77算法改良和优化后的压缩算法,开发者是Igor Pavlov,2023年被首次应用于7-Zip压缩工具中,是 2023年以来得到发展的一个数据压缩算法。它使用类似于 LZ77 的字典编码机制,在一般的情况下压缩率比 bzip2 为高,用于压缩的可变字典更大小可达4GB.

C++ 语言写成的的 LZMA 开放源码压缩库使用了区间编码支持的 LZ77 改进压缩算法以及特殊的用于二进制的预处理程序。

数据流、重复序列大小以及重续序列位置单独进行了压缩。

LZMA 支持几种散列链变体、二叉树以及基数树作为它的字典查找算法基础。

BCJ / BCJ2

BCJ / BCJ2 压缩工具所附带的 LZMA SDK 包括:在 X86、ARM、PowerPC、IA-64 以及 ARM Thumb 处理器上在压缩之前跳转目标进行归一化处理。对于 x86 平台来说,这是一个近跳转、近调用以及近条件跳转需要从“向后跳 1665 字节”这样的机器语言归一化到“跳转到 5554”这样的格式,但是短跳转及短条件跳转不需要进行这样的处拿做理。

7-Zip

尽管 7-Zip BCJ2 使用 32 位的偏移地址,但是 UPX 这样的可执行文件压缩工具当检测到 16 位 DOS 二进制文件格式的时候仍然可以使用 16 位的数值。RAR 压缩工具对 32 位的 x86 可执行文件以及 IA64 Itanium 可执行文件进行偏移地址压缩。

BCJ / BCJ2 二进制文件压缩

BCJ 与 BCJ2 之间的区别在于前者只将近跳转及近调用目标地址转换到归一化的形式,而 BCJ2 只将 x86 平台下的近跳转、近调用及条件近跳转目标分别进行压缩。

7-Zip 实现

在GNU LGPL通用公共许可证下发布的7-zip中使用的LZMA有以下几个特点:

* 高压缩比;

* 解压缩程式码较小:约 5 KB;

* 解压缩时仅需少量内存 (取决于字典大小);樱数

* 可变更字典大小 (更大 4 GB);

* 压缩速度:在一部2GHz的处理器上运行,约可达到1MB每秒的速度;

* 解压缩速度:在一部2GHz的处理器上运行,约可达10-20MB每秒的速度;

* 支援多线程、多核心(多处理器)和Pentium 4处理器的超线程(Hyper-Threading);

这个特点使得这个这个算法的解压过程非常适合于嵌入式系统应用的场合。

可移植性

一些微软Windows专有的特性深深嵌入在源程序中,这样就很难生成一个与 Unix 兼容的版本。但是,已经有两个移植到类 Unix 平台的版本:

* p7zip 是一个或多或少地完全将 7z 及 7za 移植消颂衡到 POSIX 的 7-zip 版本,这些系统包括 Linux、Solaris、OpenBSD、FreeBSD、Cygwin 等 Unix 系统以及 Mac OS X 和 BeOS等。

* LZMA Unix Port 是一个只移植了 LZMA 中代码的版本,它是一个类似于 gzip 的基于数据流的压缩工具。它不是一个归档工具,而只是一个普通的压缩工具,并且由于它在没有数据头中没有未压缩文件大小的 UInt64 变量,所以它与 7-zip 生成的 LZMA 数据流中不同。7-zip 使用一种更加灵活的归档格式 7z,因此二者都不能互相使用对方生成的数据,至少在目前是这样。

应用

使用或者支持 LZMA 的软件有:

* Nullsoft Scriptable Install System

* Inno Setup

* cramfs and SquashFS, with applied patches

* lrzip (“long range zip”, or “LZMA rzip”)

* PyLZMA,Igor Pavlov 的 LZMA SDK 的 Python 语言接口

* FreeArc, 归档工具及 LZMA SDK 的 Haskell 语言接口

* 用于 Pascal 语言的 LZMA SDK

LZMA 是哗改 7-Zip 程序中隐举 7z 格式 的默乱携判认压缩算法。LZMA 能提供给用户极高的压缩比及较快的压缩速度,它非常适合与应用程序集成。

貌似是注册软件,需要的代码,

就是给软件加个壳,压缩体积,防止别人修改。

linux安装python环境

放到自己准备好的文件夹

2.解压

命令: # tar -zxvf Python-3.8.5.tgz

解压到准备好的文件内

3.进入解压后的目录,编译安装。

cd Python-3.8.5

./configure –prefix=/usr/local/python3

可能会See config.log’ for more details出现See config.log’ for more details错误,需要安装gcc环境

命令: yum install -y gcc

4.安装:

安装依赖环境:

首先: sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

然后: make

最后: make install

完成 make install实际上是把生成的执行文件拷贝到之前configure命令指定的目录/usr/local/python3下。

到这里安装已经结束

5.创建软链接

ln -s /usr/tools/Python3/bin/python3 /渣裤穗usr/tools/python3

6.加入环境变量:

vim /etc/profile

增加: export PATH=$PATH:/usr/tools/Python/bin

:wq 退出

source /etc/profile

总结:完成上面的步骤,就完成了python在linux环境的配置。基础知识只能满足你纯旦60%的学习需求,剩下的40%就要在实战中补足,我要做的就是补充你剩下的40%。OK,这次分享就到这里了,有什么疑问可以随时留言沟通,互相学习进步!

欢迎加入QQ群:

小提示:群名虽如卜然叫selenium+unittest,但是我们不限任何测试领域的沟通交流和学习,让我们一起补足缺失的40%吧!

关于linux lzma 解压的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 轻松解压:Linux下如何使用LZMA解压文件 (linux lzma 解压)