在Linux中常用的压缩格式有以下几个:.zip .gz .bz2 .tar.gz tar.bz2。首先先解释前三个。
.zip格式的压缩: zip 压缩文件名 原文件名 如:zip abc.zip abc
后缀名是一定要写的,虽然Linux不关心后缀名,但是我们人类还是要看的。
压缩目录的时候需要加上选项 -r 如:zip -r 目录名 源目录名
解压的方法也挺简单 unzip 【文件或目录】
注意:zip在win和linux中是通用的。
.gz格式压缩 格式: gzip 【源文件】 注意:压缩为.gz格式的压缩文件,源文件会消失。
压缩目录: gzip -r 目录 注意:这里压缩的是该目录下的所有子文件,但是不能压缩目录。
.gz的解压缩方式
gzip -d 【压缩文件】
gunzip 【压缩文件】 这两种解压方式是等效的。
注意:解压目录需要加 -r
.bz格式压缩 格式: bzip2 【源文件】 注意:不保留源文件
bzip2 -k 【压缩文件】 含义:压缩之后保留源文件 注意:bzip不能压缩目录!
.bz2格式的解压缩:
bzip2 -d 【压缩文件】 含义:解压缩,-k保留压缩文件
bunzip2 【压缩文件】 含义:解压缩,-k保留压缩文件
总结一下:以上三种压缩解压缩的命令说完了,其实这三种也不是很常用,各有各的毛病,.zip还好点,.gz只能压缩目录之中的子文件,而bzip2压根不能压缩目录,这使用起来就很不爽了,命令种类多不说,还各有各的规矩,有没有一个简单通过的办法,来解决这个问题呢?我们可以这样设想一下,我们先把这个文件或者目录先打一个包,然后再对这个包进行压缩,这样不就解决了这些命令对待目录不同的态度问题了么?
打包命令 tar
tar -cvf 【打包文件名】 【源文件】
选项: -c 打包 -v 显示打包过程 -f 指定打包后的文件名
这样把文件或者目录变成了一个包,然后再用.zip、.bz2、.gz来压缩就简单的多了,不用太操心这几个命令的对待目录的区别。解压也是用的上面的方法解压,只不过解压出来还是一个.tar包,还需要把这个包给解打包一下,才能正常使用。命令:
tar -xcf 【打包文件名】 选项 -x 的意思就是解包。
总结一下:这种方法正好就弥补了之前三个压缩解压缩命令的不足,可以使用一个统一的格式来操作压缩和解压缩,但!是!这依然很不爽啊!明明一条命令就可以搞定的事,为毛非要用两条命令啊!!!
很好,重点来了,铺垫了这么长,终于到了今天的重点 ~( ̄▽ ̄~)(~ ̄▽ ̄)~
确实有命令可以将打包和压缩合二为一:
.tar.gz压缩格式
tar -zcvf 【压缩包名】.tar.gz 【源文件】 选项:-z 压缩为.tar.gz格式,其他的三个选项同上文。
.tar.gz解压缩格式
tar -zxvf 【压缩包名】.tar.gz 选项:-x 解压缩
.tar.bz2压缩格式
tar -jcvf 【压缩包名】.tar.bz2 【源文件】 选项:-j 压缩为.tar.bz2格式,其他三个选项同上文。
.tar.bz2解压缩格式
tar -jxvf 【压缩包名】.tar.bz2 选项:-x 解压缩
总结一下:这样是不是就真的真的很简单了,哈哈,其实 .tar.gz压缩格式 和 .tar.bz2解压缩格式 才是今天的重点。压缩和和解压缩也是蛮简单的嘛。 d=====( ̄▽ ̄*)b
学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog