15.1 gzip gzip(1) 是GNU的压缩程序。它只对单个文件进行压缩。基本用法如下: $ gzip filename 程序执行以后,文件名会变成filename.gz,而且一般情况下大小会比原文件要小。注意,程序并不新建一个新的文件filename.gz, 而是将filename变成filename.gz。一般来说,文本文件压缩率会比较高。而那些jpeg图像,mp3等类似文件的压缩率就没有那么好了,因为它们本来就已经被压缩过了的。这个基本用法考虑了压缩时间和压缩后文件尺寸的平衡问题(译者注:如果要使压缩后的文件更小,就需要用到更多的时间)。要得到最小文件大小({zd0}压缩),可以使用如下用法: $ gzip -9 filename 这样就可以得到gzip能够压缩的最小文件尺寸,但是需要更长的压缩时间。上面的数字越小,压缩就越快,相反压缩率也就越小。 将gzip压缩的文件解压缩,有两个命令可以使用,但实际上它们是同一个程序。只要压缩文件的后缀名被gzip程序认到,它就可以解压缩。后缀名可以是:.gz, -gz, .z, -z, .Z 和 –Z。可以使用的{dy}个命令是: 15.2 bzip2 bzip2的使用方法和gzip是一样的,所以我们不再花时间讨论了。像gunzip一样,bunzip2的效果等同于bzip2 –d。与gzip{zd0}的不同是bzip2使用后缀名.bz2.
tar 最常用的用法是将我们从网站或者ftp上下载的文件解压缩然后在解包。a.tar.gz是我们经常看到的文件名格式,这就是我们通常说的 "tarball",它是先把一些文件用tar打包,然后在用gzip压缩。你也有可能会看到名为a.tar.Z的文件,这也是同样的做法,但是你一般只会在比较老的Unix 系统里面遇到。 我们可以将上述格式的文件用tar加一些命令行参数进行解包。-z参数表示在首先运行gunzip将文件解压缩。将一个tarball解包的最常用的用法是: 上面这个命令也可以用一些其他形式的写法。在比较老的系统里面由于缺少新版本的GNU tar程序,你可能会看到它是写成这样的: 还有一种写法是将{dy}种命令格式的短划线去掉,像这样: 你也可能会碰到bzip2压缩的打包文件。在Slackware Linux所带的tar程序版本可以像gzip压缩的打包文件一样,只是要把参数-z用-j代替: 这里需要注意的是,tar会把解包的文件放到当前目录。所以如果要把一个放在/tmp目录文件解压缩到你的家目录的话,这里有一些做法可供选择: $ cd $HOME $ cd $HOME $ cd / 上面所有的命令都是等效的。每一种做法都是把文件解包到你的家目录,源文件则留在原来的地方。 上面讲了那么多用tar解包的命令,现在让我们来看看tar是如何来打包的吧。 参数"-f"不是必需的,但是通常来说加上会是一个好主意。如果不加,tar会将数据写到标准输出,这就需要管道将tar输出到另外一个程序,像这样: 这行命令把当前目录下的所有文件打包建立一个没有被压缩的tar归档文件,通过管道输出到gpg程序进行加密,让不知道密钥的人无法读到文件内容。 15.4 zip 解压缩文件很简单,像这样: zip程序还有一些高级应用参数,包括建立自解压包,压缩是保留源文件,调节压缩文件的尺寸等等,在这里就不一一赘述了。如果想了解更多,请查看手册页。 dump 1、dump是Linux系统提供的备份和恢复工具,各种版本都提供(不提供日志文件)。 2、dump 执行文件系统增量备份的存储操作,可以备份到磁带、磁盘或一个磁盘文件。 指定文件备份 整个文件系统备份或增量备份 一个确定日期后改变的文件备份 上次备份后改变的文件备份 3、命令格式: dump level unbdsf blkg-factor density size device-name file_system level:备份级别,0~9 b::因子 u:更新dumpdates文件(/etc/dumpdates) n:当dump完成时通知操作系统成员组的成员 d和s:备份卷的大小 f:指定的备份设备 w和W:空运行得到需要备份的文件系统的信息 restore 1、用于检查dump程序创建的转储以恢复新文件或整个文件系统 2、命令格式: restore [-ctrox] vbsfy blocking-factor file-number device-name c:全部恢复 t:用于显示卷的内容表 r:指明卷的整个内容应该被恢复到当前工作目录 o:覆盖原来的文件 x:提取恢复的文件名和路径名 i:允许交互式恢复 dump和restore的缺点 1、运行dump时,文件系统必须是不活跃的。 2、dump有时不能处理打开的文件和其他问题。 cpio 1、通过拷贝的方式实现文件或文件系统的备份与恢复 cpio –o 创建一个备份 cpio –i 从备份中恢复 cpio –p 把一个文件从一个文件系统拷贝到另一个文件系统 cpio恢复 1、操作 全恢复、部分恢复 恢复到当前目录还是文件系统 用模式匹配进行恢复 交互式恢复 读取文件内容表 tar 1、备份:tar cvfb [pattern] 2、恢复:tar mopxvf device pattern dd 1、将文件或原始数据以拷贝方式进行备份。 2、通过管道,实现数据流操作,在传输中把拷贝内容从一种格式转化为另一种格式。 3、借助管道能完成标准输入到标准输入,实现数据流从一个命令到另一个命令,从一个系统到另一个系统。 tar、cpio、dd tar、cpio与dump的区别 1、dump在每个卷的开头位置写入一个内容表,用restore恢复时,该索引会被读取,在该索引表上可以运行cd、ls命令查看、选择要恢复的文件。 2、dump支持远程设备的备份,cpio不支持。 3、tar和cpio可以通过文件系统来访问文件而与文件系统无关。 |