xiayu 发表于 2013-3-12 09:07:34

RHEL6入门系列之十七,打包与压缩

今天主要说一下如何在Linux系统中进行打包和压缩,在这之前先要介绍一个基本命令——du。
du命令——查看目录或文件占用空间的大小
du命令用于统计指定目录或文件所占磁盘空间的大小。
常用选项:
-h,以K、M、G为单位显示统计结果(默认单位为字节)。
如,查看/root/install.log文件的大小
# du -h /root/install.log
52K   /root/install.log
-s,查看目录本身的大小(不加该选项,则会显示指定目录下所有子目录的大小)。
# du -hs /dev
456K    /dev

OK,du命令介绍完了,下面回归正题。

打包与压缩也属于是系统管理的基本操作,像WinRAR之类的压缩/解压缩软件应是Windows系统中的装机必备软件。在Linux系统中,通过本身的命令就可以完成打包与压缩的操作。
打包,即将许多个文件和目录合并保存为一个整体的包文件,以方便传递或携带。而压缩操作可以进一步降低打包好的包文件所占用的磁盘空间。
Linux中最常用的打包命令为tar。最常用的压缩命令有两个:gzip、bzip2,用gzip制作的压缩文件通常使用扩展名“.gz”,用bzip2制作的压缩文件通常使用扩展名“.bz2”。
bzip2的压缩效率比gzip更高,但是它们都只能针对单个文件进行压缩与解压,所以通常都是先通过tar命令将多个文件或目录打包成一个包文件,然后再通过gzip或bzip2进行压缩,如*.tar.gz和*.tar.bz2就属于这种先打包再压缩的文件。
在实际使用中,一般都是通过tar命令来调用gzip或bzip2进行压缩或解压,而很少去单独使用gzip或bzip2命令。

tar命令

tar命令本身只能对目录和文件进行打包,而并不进行压缩。

(1)打包压缩
用tar命令进行打包或压缩时的格式为:
tar [选项] 打包或压缩文件名 需要打包的源文件或目录
在使用tar命令时,选项前的“-”可以省略。

例:将整个/home目录下的所有文件打包成home.tar。
# tar cvf home.tar /home
命令中用到的选项的含义:
-c,创建.tar格式的包文件。
-v,显示命令的执行过程。
-f,表示使用打包文件。
查看所生成的包文件的大小:
# du -h home.tar
1012K   home.tar

例:调用gzip命令将/home目录下的所有文件打包并压缩成home.tar.gz。
# tar zcvf home.tar.gz /home
-z,调用gzip来压缩包文件。
查看所生成的压缩文件的大小,可以发现体积大幅缩小。
# du -h home.tar.gz
104K    home.tar.gz

例:调用bzip2命令将/home目录下的所有文件打包并压缩成home.tar.gz。
# tar jcvf home.tar.bz2 /home
-j,调用bzip2来压缩包文件。
查看所生成的压缩文件的大小,可以发现体积进一步缩小,证明bzip2的压缩效率比gzip要高。
# du -h home.tar.bz2
92K   home.tar.bz2

(2)解包解压缩
用tar命令进行解包或解压缩时的格式为:
tar [选项] 打包或压缩文件名 [-C 目标目录]

例:将home.tar.gz解压到当前目录下(执行命令后会在当前目录下创建一个名为home的目录,其中存放解压后的文件)
# tar zxvf home.tar.gz
-x,解开.tar格式的包文件。

例:将home.tar.bz2解压到/root/home2目录中。
# mkdir home2
# tar jxvf home.tar.bz2 -C home2
-C,指定解压后文件存放的目的位置(注意,C是大写)。

(3)查看打包或压缩文件内的内容
如果希望在不解压的情况下查看压缩文件内都包括哪些内容,可以执行命令:
# tar ztvf home.tar.gz | more
-t,显示打包文件中的内容。
由于是用gzip压缩的文件,所以用-z选项调用gzip程序来解压。
如果要查看压缩文件home.tar.bz2文件中的内容,可以执行命令:
# tar jtvf home.tar.bz2 | more
这里同样用-j选项调用bzip2来解压。

花蜻宽 发表于 2013-3-14 01:48:31

帮帮顶顶!!

qq489498494 发表于 2013-5-16 00:08:09

如果跟导师讲不清楚,那么就把他搞胡涂吧!

永不落伍 发表于 2013-5-16 15:18:47

谢谢楼主,共同发展

obeckham 发表于 2013-5-17 10:35:45

很多女明星不红的原因是因为没有张开腿*^_^*

hb_sz 发表于 2013-5-18 00:57:08

勿以坑小而不灌,勿以坑大而灌之。

jason0401 发表于 2013-5-18 12:31:07

避孕的效果:不成功,便成“人”。
页: [1]
查看完整版本: RHEL6入门系列之十七,打包与压缩