如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件

如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
我在本地将10G文件打包为zip,上传到linux下。之前所用的unzip解压不了这么大的文件。
[root@node30 images]# unzip ubuntu-8.04.4.zip
Archive:  ubuntu-8.04.4.zip
   skipping: ubuntu-8.04.4.img       need PK compat. v4.5 (can do v2.1)

网上找到解决方案通过p7zip工具能够实现大文件的解压缩。p7zip简介看最下面。

然后再官方网站:http://p7zip.sourceforge.net/ 中下载了针对linux的p7zip
下载之后后缀名是 p7zip_9.20.1_src_all.tar.bz2,
通过命令 tar -jxvf p7zip_9.20.1_src_all.tar.bz2 解压该文件,
然后执行 make 编译
在执行 make install 安装p7zip
OK!!!!
执行如下命令即可完成我这10G文件的解压缩。如下:
[root@node30 images]# 7za x ubuntu-8.04.4.zip

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: ubuntu-8.04.4.zip

Extracting  ubuntu-8.04.4.img

Everything is Ok

Size:       10737418240
Compressed: 117455645


以下为网上转载回顾之用。
转载自:
http://www.cnblogs.com/fangbo/archive/2009/12/01/1614538.html

这么多年来,数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件 还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间。某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件。下面我将会给 大家演示如何用这些命令在Linux下面去压缩文件或者目录。我们将学习zip, tar, tar.gz和tar.bz2等压缩格式的基本用法。这几个是在Linux里面常用的压缩格式。

在我们探究这些用法之前,我想先跟大家分享一下使用不同压缩格式的经验。当然,我这里讲到的只是其中的一些用法,除我讲到的之外,他们还有更多的地 方值得我们探讨。我已经意识到我需要了解两到三种压缩格式,才能更好的使用他们。zip格式是第一个需要了解的格式。因为它实际上已成为压缩文件的标准选 择,而且它在windows上也能使用。我经常用zip格式压缩那些需要共享给windows用户的文件。如果只是共享给linux用户或者Mac用户, 那我偏向于选择tar.gz格式。

ZIP
zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:
我们可以使用下列的命令压缩一个目录:

# zip -r archive_name.zip directory_to_compress

下面是如果解压一个zip文档:

# unzip archive_name.zip

TAR
Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

# tar -cvf archive_name.tar directory_to_compress

如何解包:

# tar -xvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -xvf archive_name.tar -C /tmp/extract_here/

TAR.GZ
这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:

# tar -zcvf archive_name.tar.gz directory_to_compress

解压缩:

# tar -zxvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

TAR.BZ2
这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。

# tar -jcvf archive_name.tar.bz2 directory_to_compress

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

数据压缩是非常有用的,尤其是对于备份来说。所以,你现在应该考虑在你的备份脚本中使用你在这里学到的压缩方式备份你基本的规则文件以减小你备份文件的大小。

过段时间之后,你就会意识到,在压缩率与CPU占用时间上会有一个平衡,你也要学会如何去权衡什么时候你需要一个快但是压缩率低,什么时候需要一个压缩率高但是CPU点用高的压缩方式,然后你才能避免无谓的空间与时间。




-Zip 是一种高压缩比的存档格式 7z 的管理器,可惜只能用于 Windows 平台。其实7-zip也有linux版本的,只不过它不叫7-zip了,而是P7ZIP。


P7ZIP 的安装
在 Debian/Ubuntu 系统,可通过 sudo apt-get install p7zip 进行安装。
也可以从这里下载:http://p7zip.sourceforge.net/


P7ZIP 的使用
创建压缩包:7za a -t7z test.7z *,此命令将目录中的所有文件压缩到 test.7z 中。

解开压缩包:7za X test.7z,此命令用于将 test.7z 中的文件提取出来。可使用 -t 来指明压缩格式。


更多信息,执行命令:
7za –help


另外,解压文件建议用 X 而不是 e
7za X test.7z
用 e 会丢失目录结构的。

相关链接:
官方网站:http://p7zip.sourceforge.net/
论坛支持:http://sourceforge.net/forum/?group_id=111810

你可能感兴趣的:(如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件)