其实理解了,自然就迎刃而解了。
首先要明确一个概念,linux下面的打包和压缩是两码事,
也就是你可以对文件进行打包,但是不压缩。
来看个例子:
在我的根目录下有个名为wallpaper的文件夹,里面是一些墙纸,
我现在对这个文件夹进行打包,但不不压缩。
直接输入tar cvf wallpaper.tar wallpaper回车就生成了一个wallpaper的包。
操作过程如下图:
这里的tar是一个打包命令,后面的cvf是参数,
c的意思是建立一个打包文件(如果换成x就表示解包),v在压缩过程中显示文件,
f是使用文件名,然后加上你要生成的包名,再加压缩的目录就可以了。
现在我们已经学会打包了,紧接着我们对它进行压缩:
输入gzip wallpaper.tar 回车,就生成了一个walllpaper.tar.gz的压缩包。
这里的gzip是一个压缩命令,那是不是一定要选用tar来打包,然后再用gzip来压缩呢,
其实不用这么麻烦,只要在tar 后面加上参数z就具备了gzip的功能,换句话说其实只要用:
tar zcvf wallpaper.tar.gz wallpaper这个命令就可以直接生成wallpaper.tar.gz文件。
过程如下:
压缩包的建立就是这样,用不同的程序压缩的文件就会有不同的后缀名,
如用compress来压缩的文件后缀名就是*.z ,用bzip2来压缩的呢就是*.bz2,
用zip来压缩就是*.zip等等,其中最常见的就是*.tar.bz2.和*.tar.gz(也就是我们平常说的Tarball文件)
如上例中如果我们用bzip2 wallpaper.tar来对它打包的话,生成的文件就是wallpaper.tar.bz2,
具体的命令参数可以用command –help来查看。
压缩包建立好后,接下来就是解压了,如上例中我们现在对wallpaper.tar.gz进行解压,
有两种方法:
1、先用gzip加上参数d 对压缩包进行解压,然后用tar 加上参数x进行解包。如图所示:
2、直接用tar 加上参数z和xvf来解压并解包,这里的z 其实就是加上了gzip的功能。
这也是最常用的方法,同理如果是后缀为*.tar.bz2的文件,只需把z换成j,
象前面提到的tar已经集成了gzip和bzip2的功能,只要为它们加上不同的参数就行了。
那么这里加上J就表明tar具备了bzip2的功能。
我们知道在windows下面我们可以双击压缩包文件,看看里面是什么内容,而不用解开它,
同样在linux下面我们也可以这样做,只要在tar后面加上参数t就表示查看压缩包里的内容,
但并不解开它。
如我们查看一下wallpaper.tar.gz里面到底是什么内容可以输入:
另外想说一下的就是,压缩包的后缀名其实并没有什么实际的意义,不要被后缀名弄糊涂了,
比如我们对wallpaper这个文件夹进行打包压缩,可以写成这样:
生成的wallpaper.songzi一样是个压缩文件。这点,我们用file来查看。
小结,我这里只是说说最常用的一些命令,算是抛砖引玉吧,
还有很多功能就靠你慢慢挖掘,可别小看了压缩命令,在linux的备份中,发挥着大作用呢。