4.4.1 gzip和gunzip命令
1.gzip (gnu zip)命令语法:gzip [选项] [文件名]
功能:gzip命令对文件进行压缩和解压缩,压缩成后缀为.gz 的压缩文件。
2.gunzip 命令语法:gunzip [选项] [文件名.gz]
功能:gunzip命令与gzip命令相对,专门把gzip压缩的.gz文件解压缩。如果有已经压缩的文件,例如exam1.gz,这时就可以对其进行解压缩:#gunzip exam1.gz,也可以用gzip自己来完成,效果完全一样:#gzip -d exam1.gz。事实上,gunzip是gzip的硬连接,因此,不论是压缩或解压缩,都可以通过gzip命令来完成。
4.4.2 tar命令
1.tar(tape archive)命令语法:tar [选项] [打包文件名] [文件]
功能:将文件或目录打包成.tar的打包文件或将打包文件解开。
gzip 有一个致命的缺点:仅能压缩一个文件。即使对子目录压缩,也是对子目录里的个别文件压缩,并没有把他们压成一个包。在Linux上,这个打包的任务由tar程序来完成。tar并不是压缩程序,因为它打包之后的大小跟原来一样大。所以它不是压缩程序,而是打包程序。而习惯上会先打包,产生一个.tar文件,再把这个包拿去压缩。这就是.tar.gz文件名的由来。.tar.gz这样的长的名称有其简短形式为.tgz。tar命令的各选项及其功能见表4-41。
表4-41 tar命令的各选项及其功能选项
功能
-b
该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)
-c
创建新的备份文件。如果用户想备份一个目录或是一些文件,就要选择这个选项
-f
使用备份文件或设备,这个选项通常是必选的
-k
保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖
-m
在还原文件时,把所有文件的修改时间设定为现在
-M
创建多卷的备份文件,以便在几个磁盘中存放
-r
把要存档的文件追加到备份文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中
-t
列出备份文件的内容,查看已经备份了哪些文件
-u
更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后
-v
显示处理文件信息的进度
-w
每一步都要求确认
-x
从备份文件中释放文件
-z
用gzip来压缩/解压缩文件,加上该选项后可以将备份文件进行压缩,但还原时也一定要使用该选项进行解压缩
实例4-28 使用tar命令
分析如下的例子例1:#tar -cf exam.tar exam1 *.txt(把所有 exam1 *.txt 的文件打包成一个 exam.tar文件。其中,-c 是产生新文件;-f 是输出到默认的设备,可以把它当做一定要加的选项)
例2:#tar -rf exam.tar exam2*.txt(exam.tar 是一个已经存在的打包文件了,再把 exam2*.txt 的所有文件也打包进去。-r 是再增加文件的意思)
例3:#tar -uf exam.tar exam 11.txt(刚才exam1*.txt 已经打包进去了,但是其中的 exam11.txt后来又做了更改,把新改过的文件再重新打包进去,-u是更新的意思)
例4:#tar -tf exam.tar(列出exam.tar 中有哪些文件被打包在里面。-t是列出的意思)
例5:#tar -xf exam.tar(把exam.tar打包文件中全部文件释放出来,-x是释放的意思)
例6:#tar -xf exam.tar exam2*.txt(只把exam.tar打包文件中的所有exam2*.txt文件释放出来,-x是释放的意思)
例7:#tar -zcf exam.tar.gz exam1*.txt
 注意:
第一,加了-z选项,它会向gzip借用压缩能力;第二,注意产生出来的文件名是exam.tar.gz,两个过程,一次完成。
例8:#tar -xzvf exam.tar.gz(加一个选项-v,就是显示打包兼压缩或者解压的过程。因为Linux上最常见的软件包文件是.tar.gz文件,因此,最常看到的解压方式就是这样了)
例9:#tar -xzvf exam.tgz(如果是.tgz的文件名也是一样的,因为性质一样,只是文件名简单一点而已)
 注意:
这个-xzvf的选项几乎可以是固定的,读者最好将-xzvf记住。
.tar.gz文件的生成如下例所示,读者最好也将其(-czvf)记住,以后就可以方便的生成这种文件了:#tar -czvf exam.tar.gz *.* 或#tar -czvf exam.tgz *.*。