您好,欢迎来到码863代码分享网! 请[登录] / [注册]

LinuxVPS安装及使用7z解压

编辑

7za a -t7z -r Mytest.7z /opt/phpMyAdmin/*   打包成功




df -h  查看文件系统          容量  已用  可用




解压文件:


7z x  manager.7z-r -o/home/Baby/Desktop


下面我解释下:


x  代表解压缩文件,并且是按原始目录解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)


manager.7z  是压缩文件,这里大家要换成自己的。如果不在当前目录下要带上完整的目录


-r 表示递归所有的子文件夹


-o 是指定解压到的目录,这里大家要注意-o后是没有空格的直接接目录


压缩文件/文件夹


7z a -t7z -r manager.7z/home/Baby/Desktop/manager/*


下面我解释下:


a  代表添加文件/文件夹到压缩包


-t 是指定压缩类型 一般我们定为7z


-r 表示递归所有的子文件夹


manager.7z 是压缩好后的压缩包名


/home/Baby/Desktop/manager/*   是要压缩的目录,*是表示该目录下所有的文件












7zip是一款开源的解压缩软件,不仅自己独有的7z格式,而且支持zip,rar,tar,gzip等众多其他格式,同时7z格式的压缩比例很高,目前很多硬盘版的游戏都采用zip进行打包。下面介绍一下LinuxVPS安装7zip。


 


 


 


一、7zip安装方法


CentOS安装7zip:


目前yum源上好像还没有7zip,我们可以到http://dag.wieers.com/rpm/packages/p7zip/下载rpm包安装。


32位CentOS执行下面命令:


1 wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.i386.rpm


2 wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.i386.rpm


3 rpm -ivh p7zip-9.13-1.el5.rf.i386.rpm


4 rpm -ivh p7zip-plugins-9.13-1.el5.rf.i386.rpm


 


64位CentOS下面命令:


1 wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.x86_64.rpm


2 wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.x86_64.rpm


3 rpm -ivh p7zip-9.13-1.el5.rf.x86_64.rpm


4 rpm -ivh p7zip-plugins-9.13-1.el5.rf.x86_64.rpm


 


Debian安装7zip:


view source 


print?



apt-get install p7zip-full 


 


二、7zip命令使用方法: 


7zip命令有7z和7za,7za是精简版部分格式不支持,7z是全功能版的,建议使用7z。 


7z {a|d|l|e|u|x} 压缩包文件名 {文件列表或目录,可选}


a 向压缩包里添加文件或创建压缩包 


d 从压缩里删除文件 


l 列出压缩包里的文件 


e 解压到当前目录,目录结构会被破坏 


x 以完整路径解压。 


 


例子: 


1.压缩zzwsem.net目录


执行: 



7z a zzwsem.net.7z zzwsem.net


 


2.从zzwsem里删除文件1



7z d zzwsem.net.7z 1 


3.列出zzwsem.net.7z里的文件



7z l zzwsem.net.7z 


4.解压zzwsem.net.7z到当前目录(路径会损坏,请不要使用)



7z e zzwsem.net.7z 


 


5.解压zzwsem.net.7z完整路径解压



7z x zzwsem.net.7z


 


三、zip文件解压中文文件乱码问题 


由于zip文件中没有声明其编码,所以在Linux上使用unzip解压以默认编码解压,中文文件名会出现乱码。 


请参照设置SSH编码为中文


 


 


 






























Linux下有很多压缩工具,7z是已知最大压缩比的工具,它的使用比较复杂,以下我记下的一些技巧




 




压缩命令(结合tar命令): tar cf - /home/test | 7z a -si test.tar.7z




                 上面命令将 /home/test 文件夹压缩为 test.tar.7z 文件




解压命令(结合tar命令)  :   7z x -so test.tar.7z | tar xf - /home/alex




                                                    这个命令将test.tar.7z 的内容解压到 /home/alex目录下




 




根据不同需要,还可以设置不同压缩比 ,这个命令特别适合做RAMDISK时候使用,大大节省宝贵的空间,希望对各位有帮助!




 




下面是压缩参数设置,引用地址:http://anywolfs.com/liuhui/7-zip/cmdline/switches/method.htm




原文如下




-m (设置压缩算法) 选项


指定压缩算法。




语法


-m<method_parameters>


此选项的格式依压缩档案的类型而定。




Zip




参数 默认值 说明 


x=[0 | 5 | 9 ] 5 设置压缩等级。 


m={MethodID} Deflate 设置压缩算法:Copy、Deflate、Deflate64、BZip2。 


fb={NumFastBytes} 32 设置 Deflate 编码器的单词大小。 


pass={NumPasses} 1 设置 Deflate 编码器的传送大小。 






x=[0 | 5 | 9 ]


设置压缩等级




压缩等级 说明 


0 不压缩。 


5 默认的压缩等级。 


9 最大压缩等级。压缩后的文件会更小。但是在压缩的时候会比较慢而且需要较多的物理内存。 




fb={NumFastBytes}


设置 Deflate 编码器的单词大小。您可以在 3 到 255 范围之内更改。在 Deflate 算法下,它的默认值是 32;在 Deflate 64 算法下,它的默认值是 64。如果要压缩的多个文件中,有很多排列相同的字节,比如说内容及格式极为相同的两个纯文本文档,那么在压缩的时候如果有较大的单词大小,将会在一定程度上提高压缩比。所以,通常情况下,其数量越大,压缩后的文件就会越小。但是在压缩和解压缩的时候会比较慢而且需要较多的物理内存。




pass={NumPasses}


设置 Deflate 编码器的传送大小。您可以在 1 到 4 范围之内更改。在 Deflate 算法下,它的默认值是 1;在 Deflate 64 算法下,它的默认值是 3。此项可略微提升压缩比,但并不明显。




GZip


除了 GZip 不支持“储存”压缩算法之外,GZip 和 Zip 一样使用着相同的参数。




7z




参数 默认 说明 


x=[0 | 1 | 5 | 7 | 9 ] 5 设置压缩等级。 


s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g] on 设置固实模式。 


f=[off | on] on 开启或关闭可执行文件压缩过滤器。 


hc=[off | on] on 开启或关闭档案文件头压缩。 


hcf=[off | on] on 开启或关闭档案文件头完全压缩。 


he=[off | on] off 开启或关闭档案文件头加密。 


b{C1}[s{S1}]:{C2}[s{S2}]  设置编码器之间绑定。 


{N}={MethodID}[:param1][:param2][..] LZMA 设置压缩算法:LZMA、PPMd、BZip2、Deflate、BCJ、BCJ2、Copy。 


mt=[off | on] off 设置多线程模式。 






x=[0 | 1 | 5 | 7 | 9 ]


设置压缩等级




压缩等级 说明 


0 不压缩. 


1 快速压缩:LZMA 快速算法、32KB 字典大小、HC3 Match finder、BCJ 过滤器。 


5 正常压缩:LZMA 标准算法、2 MB 字典大小、BT4 Match finder、单词大小为 32、BCJ 过滤器。 


7 最大压缩:LZMA 最大算法、8 MB 字典大小、BT4 Match finder、单词大小为 64、BCJ 过滤器。 


9 极限压缩:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、单词大小为 64、BCJ2 过滤器。 




s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g)]


开启或关闭固实模式。此选项的默认值是 s=on。开启或关闭固实压缩档案模式。在创建固实压缩档案模式中,它把压缩档案中的所有文件都当成一个连续数据流来看待。通常情况下,固实压缩可增加压缩比,特别是在添加大量小文件的时候。




e 为每一种文件扩展名使用单独的固实数据流 


{N}f 设置在一个固实数据流种文件的个数 


{N}b | {N}k | {N}m | {N}g 设置固实数据流的大小(字节) 




不同的压缩等级对固实数据流大小的限制:




压缩等级 大小 


储存 0 B 


快速 16 MB 


正常 256 MB 


最大 1 GB 


极限 4 GB 




对固实数据流大小的限制虽然能应响到压缩比,但是它还是有相当多的优势:




万一压缩档案损坏,并不会丢失所有数据。


减少了文件的释放时间。


在当前的版本中,您只能更新在压缩时未选择“创建固实压缩档案”的压缩档案。也就是说当前版本不支持固实压缩档案的更新。




示例:




        -s=100f10m设置固实模式使每个固实数据流种最多 100 文件,并且最大 10 MB 。




f=[off | on]


开启或关闭可执行文件压缩过滤器:dll、exe、ocx、sfx、sys。它用于 BCJ2 过滤器(使用极限压缩)及 BCJ 过滤器中。此选项的默认值是 f=on.




hc=[off | on]


开启或关闭档案文件头压缩。此选项的默认值是 hc=on。如果开启档案文件头压缩,一部分档案的文件头将使用 LZMA 算法进行压缩。




hcf=[off | on]


开启或关闭档案文件头完全压缩。此选项的默认值是 hcf=on。如果开启档案文件头完全压缩,那么此压缩档案只有 7-Zip 2.30 beta 25 及更高的版本才能支持。




he=[off | on]


开启或关闭档案文件头加密。此选项的默认值是 he=off。




{N}


设置算法的顺序。它也可以用算法关联参数。最小值为 0。含有从号的算法将被首先使用。




b{C1}[s{S1}]:{C2}[s{S2}]


将输出流 S1 及编码器 C2 中的输入流 S2 与编码器 C1 绑定。如果未指定流的大小,那么大小将为 0。




通常情况下,编码器有一个输入流及一个输出流。而在 7z 中,一些编码器有多个输入及输出流。




举个例子,BCJ2 编码器有有关输入流及四个输出流。




mt=[off | on]


开启或关闭多线程压缩模式。在多线程支持模式中,7-Zip 将使用两个线程来进行压缩。这样的话,对于多处理器系统,那么压缩速度将提升 70-80%。对于 Pentium 4 超线程处理器,压缩速度将提升 25% 左右。但解压缩时只使用单独线程。注意!此选项仅对 LZMA 压缩算法有效。




{N}={MethodID}[:param1][:param2] ... [:paramN]


设置压缩算法。在 7z 格式中,您可以使用许多压缩算法。此选项的默认算法是 LZMA。




此参数必须是下列格式中的任意一种:




{ParamName}={ParamValue}。


{ParamName}{ParamValue},{ParamValue} 是一个数值,并且 {ParamName} 中不包含数字。


支持的压缩算法:




MethodID 说明 


LZMA 基于 LZ 之上的压缩算法。 


PPMd 基于 Dmitry Shkarin 之上的算法 PPMdH 并加以优化。通常能对纯文本提供高压缩比及较快的解压缩速度。 


BZip2 基于 BWT 的标准压缩算法。通常能对纯文本提供较高压缩比及相当不错的解压缩速度。 


Deflate ZIP 及 GZip 格式的标准压缩算法。没有很高的压缩比。但是它拥有十分快的压缩及解压缩速度。Deflate 压缩算法只支持 32 KB 字典大小。 


BCJ (CALL、JUMP)32 位 x86 可执行文件转换器。 


BCJ2 (CALL、JUMP、JCC)32 位 x86 可执行文件转换器(第二版)。 


Copy 不压缩。 


LZMA


LZMA 是基于 Lempel-Ziv(由以色列数学家 A.Lempel 和 J.Ziv 共同开发的压缩算法)之上的压缩算法。它能提供相当快的解压缩速度(约比压缩快 10 到 20 倍)。对内存的需求也不尽相同(详细信息请参见 d={Size}[b|k|m] 选项)。




参数 默认值 说明 


a=[0|1|2] 1 设置压缩等级 


d={Size}[b|k|m] 20 设置字典大小 


mf={MF_ID} bt4 设置匹配器 


fb={N} 32 设置紧缩字节数量 


lc={N} 3 设置 Literal Context 块数 - [0, 8] 


lp={N} 0 设置 Literal Pos 块数 - [0, 4] 


pb={N} 2 设置 Pos 块数 - [0, 4] 




a=[0|1|2]


设置压缩等级:0=快速、1=正常、2=最大压缩。默认值为 1。




d={Size}[b|k|m]


设置 LZMA 压缩算法的字典大小。您可以使用字节、KB 或 MB 来指定此项。字典大小的最大值为 256 MB=2^28 字节。正常模式下,LZMA 的字典大小默认值为 21(2 MB) ;最大模式(-mx=7)下为 23(8 MB);极限模式(-mx=9)下为 25(32 MB)。如果您未指定 [b|k|m] 项,字典大小将自动根据压缩等级来选择相应的单位。对于 LZMA 算法的文件解压缩,若压缩文件的字典大小为 64 MB,则解压缩时就需要 64 兆可用的物理内存。




mf={MF_ID}


设置 LZMA 压缩算法的匹配器。默认算法为 bt4。bt* 类的算法所需的内存比 pat* 类所需的内存少。通常情况下 bt4 的工作速度比 pat* 快得多,然而部分文件格式在 pat* 算法中可以工作得很快。hc* 类算法并没有很好得压缩比,但是它与快速模式(a=0)结合使用通常会工作得相当快。所需内存依字典大小而定(参见下表)。




MF_ID 所需内存 说明 


bt2 d×9.5 + 1 MB 二进制树;2 散列字节。 


bt3 d×9.5 + 65 MB 二进制树;2-3(完整) 散列字节。 


bt4 d×9.5 + 6 MB 二进制树;2-3-4 散列字节。 


bt4b d×9.5 + 34 MB 二进制树;2-3-4(大) 散列字节。 


pat2r d×26 + 1 MB Patricia 树;2-位节点;可移动。 


pat2 d×38 + 1 MB Patricia 树;2-位节点。 


pat2h d×38 + 77 MB Patricia 树;2-位节点;2-3 散列字节。 


pat3h d×62 + 85 MB Patricia 树;3-位节点;2-3 散列字节。 


pat4h d×110 + 101 MB Patricia 树;4-位节点;2-3 散列字节。 


hc3 d×5.5 + 1 MB Hash Chain;-3 散列字节。 


hc4 d×5.5 + 6 MB Hash Chain;2-3-4 散列字节。 




注意:操作系统同样需要一部分物理内存来维持系统得正常运行。所以至少要剩余 32 可用物理内存。




fb={N}


设置 LZMA 压缩算法的紧缩字节。有效范围从 5 到 255。正常模式下默认值为 32;最大模式下为 64 。通常情况下,较大的数值能略微提高压缩比。但同时也会降低压缩速度。




lc={N}


设置 Literal Context 位数。有效范围从 0 到 8。默认值为 3。有时压缩档案中含有大文件会自动使用 lc=4。




lp={N}


设置 Literal Pos 位数。有效范围从 0 到 4。默认值为 0。




pb={N}


设置 Pos 位数。有效范围从 0 到 4。默认值为 2。




PPMd


PPMd 是 PPM-based 压缩算法的简写。它基于 Dmitry Shkarin 的算法 PPMdH 并对其源代码加以优化。PPMd 通常能对纯文本提供高压缩比及较快的解压缩速度。压缩和解压缩的速度完全相同,所需的内存大小也一样。




参数 默认值 说明 


mem={Size}[b|k|m] 24 设置 PPMd 算法使用内存。 


o={Size} 6 设置 PPMd 算法压缩命令。 




mem={Size}[b|k|m]


设置 PPMd 算法使用的内存多少。您可以使用字节、KB 或 MB 来指定此项。最大值为 2 GB=2^31 字节;默认值为 24(16MB)。如果您未指定 [b|k|m] 项,字典大小将自动根据压缩等级来选择相应的单位。PPMd 在压缩和解压缩时所需的内存大小是相同的。




o={Size}


设置 PPMd 算法压缩命令。其大小必须在 [2,32] 范围内。默认值为 6。




BCJ2


BCJ2 是 32 位 x86 可执行文件转换器(第二版)。它通过转换分支指令来对文件进行进一步压缩。




BCJ2 编码器有一个输入流和四个输出流:




s0:干流。提供进一步的压缩。


s1:CALL 值转换流。提供进一步的压缩。


s2:JUMP 值转换流。提供进一步的压缩。


s3:服务流。它已经备压缩过。


如果使用 LZMA 压缩算法,s1 及 s2 流的字典大小将会比 s0 流的小(512 KB)。




示例


7z a -tzip archive.zip *.jpg -m0


不压缩而直接将 *.jpg 文件添加到 archive.zip 档案。




7z a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt


添加 *.exe 及 *.dll 文件到固实压缩档案 archive.7z。使用 LZMA 压缩算法、2 MB 字典大小及 BCJ 转换器。压缩将开启多线程优化(如果可用)。




7z a -t7z archive.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3


添加 *.exe 及 *.dll 文件到压缩档案 archive.7z。使用 LZMA 压缩算法、BCJ2 转换器、为主输出流(s0)使用 8 MB 字典大小、LZMA 算法为 BCJ2 转换器的 s1 及 s2 输出流使用 512 KB 字典大小。




7z a -t7z archive.7z *.txt -m0=PPMd


添加 *.txt 文件到压缩档案 archive.7z。 使用 PPMd 压缩算法。




可以和此选项结合使用的命令


a (添加), d (删除), u (更新)




其它


选项: -t (设置压缩档案格式)


CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网 湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.0016720294952393 秒,PHP脚本用时 0.004319 秒,占用内存 0.613 MB,Gzip 已启用