原文网址:http://blog.sina.com.cn/s/blog_5da93c8f0101h1uj.html
在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点用高的压缩方式,然后你才能避免无谓的空间与时间。
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结:
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压