Unix系统下备份与恢复工具及命令行使用参考
2009-09-26 15:47:11 Administrator

前言
标准的 Unix 系统皆有提供基本的备份工具,这些工具在某种程度上可说是无趣的,它们的功能并不特别花俏且有许多限制,有些至今仍有小错误(如某些 Unix 版本终于将 dump 中”倒带tape-rewinding ”的错误加以更正)。然而这些基本备份工具中,仍有些功能尚未被商业备份厂家吸收采用,因此这些功能会长久存在且不用额外花钱购买。它们在任何平台环境的运作方式大致相同,如有差异也只有少许的不一样。无论您是否刚接触备份世界,或是经验丰富的系统管理者,都必须熟悉这些工具。

备份与恢复系统承担着事前备份与事后恢复的职能。在当前高速发展的网络环境下,任何一个网络上的信息 系统都不可能保证绝对的安全。只要有网络存在,就会有来自网络的形形色色的威胁。为了抵御网络的攻击和入侵,虽然我们引入了日趋成熟的入侵检测系统、防火墙系统等,黑客们的入侵手段也日益高明,他们总能找到这些系统的安全漏洞及不足进行入侵,因而网络入侵所引起的安全事件呈逐年增加之势。

在这种情况下,我们难以保证网络中关键系统的绝对安全,因而就需要采用备份及恢复技术。备份及恢复技术就是使用存储介质和一定的策略,定期将系统业务数据备份下来,以保证数据意外丢失时能尽快恢复,将用户的损失降到最低点。它是信息安全学科中一种非常重要的核心技术。

备份技术及基本分类 :
一般说来,建立一套完备的网络数据备份系统必须具备如下几个必要条件:  
● 数据备份的容量都是比较大的,所以针对关键业务系统的数据备份需要实现自动化,以减少系统管理员的工作量 ;
● 以备份服务器形成备份中心,对各种平台的应用系统及其他信息数据进行集中的备份,系统管理员可以在任意一台工作站上管理、监控、配置备份系统,实现分布处理,集中管理的特点;
● 用户可以比较方便和快捷地恢复损坏的整个文件系统和各类数据;
● 备份系统还应考虑网络带宽对备份性能的影响,备份服务器的平台选择及安全性,备份系统容量的适度冗余,备份系统良好的扩展性等因素。

进行备份工作需要确定数据备份的策略。备份策略指确定需备份的内容、备份时间及备份方式。用户要根据自己的实际情况来制定不同的备份策略。目前被采用最多的备份策略主要有以下三种:

1.完全备份
就是每天对系统进行完全备份。这种备份策略的好处是:当发生数据丢失的灾难时,就可以恢复丢失的数据。然而它亦有不足之处。首先,由于每天都对整个系统进行完全备份,造成备份的数据大量重复。这些重复的数据占用了大量的空间,这对用户来说就意味着增加成本。其次,由于需要备份的数据量较大,因此备份所需的时间也就较长。对于那些业务繁忙、备份时间有限的用户和单位来说,选择这种备份策略是不明智的。并且由于备份的时间间隔太小而造成的完全备份数目过多,造成硬件资源的大量浪费,也是很不必要的。

2.增量备份
就是每天只对当天新的或被修改过的数据进行备份。这种备份策略的优点是节省了存储介质空间,缩短了备份时间。但它的缺点在于,当灾难发生时,数据的恢复比较麻烦。另外,这种备份的可靠性也很差。备份间隔中的数据是无法恢复的,这就需要用户在指定备份间隔时做适当的权衡,才能取得比较好的效果。

3.差分备份
管理员先在最初(例如星期天)进行一次系统完全备份,然后在接下来的几天里,管理员再将当天所有与星期天不同的数据(新的或修改过的)备份到磁介质上。差分备份策略在避免了以上两种策略的缺陷的同时,又具有了它们的所有优点。首先,它无需每天都对系统做完全备份,因此备份所需时间短,并节省了空间;其次,它的灾难恢复也很方便。

Linux下的备份技术
对于备份和恢复来说,Linux提供了诸如tar、cpio、dump等工具来实现。这样用户无需花钱购买,便可根据系统的实际情况,结合使用相应的备份恢复工具实现备份与恢复的基本功能。

dump、cpio、tar与dd之运用时机
不同备份工具之间有不同的差异与优缺点。dump 及 restore 通常是最好的选择,其次是 cpio,但它比 tar 来得不亲和些,tar则比 dump 或 cpio 更容易使用且更具携带性。如果希望使用tar或cpio 备份raw devices 或执行远程备份,那么dd 可以是您的另一项选择。

dump及restore工具
如果您正在负责备份至少一个以上的 Unix 服务器,但经济上无法负担商用备份产品,也不信任免费的公共软件来备份重要数据,那么最好您的Unix 版本有提供dump 及 restore 指令,它们在备份及回复整个系统上非常具有弹性与变化。dump 及 restore 是相当复杂的指令,附有一简单的接口及数个基本选项,这些选项在大部份的Unix 系统是相同的。有些 Unix 版本改变了dump 的名字或部份特性,但这些改变都是非常小的。dump 也出现在仿Unix 系统中,如:Linux 及 Network Appliance 系统。在未来您可能并不打算使用 dump 来备份数据,但是您却会有机会从某处的 dump 资料卷中读取内容。

dump可以执行类似tar的功能。然而dump倾向于考虑文件系统而不是个别的文件。dump检查ext2文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上。在大多数媒体上,容量是通过一直写入直至返回一个end-of-media标记来确定的。

配合dump的程序是restore,它用于从转储映像还原文件。restore命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖,可以从完全或部分备份中还原单独的文件或者目录树。

dump和restore都能在网络上运行,因此用户可以通过远程设备进行备份或还原。dump和restore使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于ext2和ext3文件系统。如果使用的是JFS、Reiser或者其他文件系统,将需要其他的实用工具,比如 tar。 举个例子:
dump 0f /dev/nst0 /(将ext2文件系统备份到第一个SCSI设备)   
restore -xf /dev/nst0 /home/code(将备份的SCSI设备中的/home/code目录下的所有数据还原到磁盘)

cpio备份工具
如果没有 dump 指令或者 dump 版本不符所需,则 cpio 是您的下一个好选择。cpio 比其它备份工具存在的时间久,且具有一些其它工具所缺乏的重要特性。 但首先需说明的是,有些功能 dump 有提供而 cpio 则无者,如下:
● 无需使用touch或find档案,即可执行变动备份(incremental backup);
● 备份完后不改变数据的atime及ctime;
● 以互动方式执行数据回复,如restore的选项-i。

cpio 是一个非常有用的备份工具,它最大的不同处,是可以备份从标准输入(stdin)而来的的档案。 目前有些新版的 tar 支持从标准输入来的档案备份,但大部份尚未有此功能。

为什么cpio较不常被使用
如果 cpio 如此好用,为何 tar 却比较风行?最可能的理由是同样的功能,tar 比 cpio 较简单易用(也较标准)。例如:每个版本的 tar 都支持 tar cf device  及 tar xf device,然而 cpio有时支援 I 及 O;有的版本则无。如果将 cpio 每种版本的选项累计,则有近 40 个选项,甚至有些使用同一字母的参数,在不同版本的Unix 有不同的意义。 但您只要使用在大部份平台皆标准的选项,那么cpio 几乎与 tar 一般简单好用。

cpio命令可以从tar或者cpio档案文件中拷入或者拷出文件。cpio命令和tar命令兼容,但是这个命令具备一些tar命令没有的功能,如下所示:  
● 支持cpio和tar两种档案文件格式;   
● 支持许多老式磁带数据格式;   
● 能够通过一个管道(pipe-line)读取文件的文件名。

目前看来,只有少数的Linux软件包是以cpio格式发行的。用户如果对cpio命令的详细情况感兴趣,可以通过“man cpio ”命令阅读它的使用手册。

tar备份工具
如果需要定期备份整个操作系统,dump 可能是最好的选择。其次是 cpio,因为它可与 find 搭配执行变动备份(incremental backup)。如果您像大部份的人一般,只为了将数据做一次完整的备份,那么就不需要定期或变动备份等功能。例如,您可能希望快速地备份使用者 /home 目录。您可能想要删除使用者的一大群目录与档案,但唯一可让使用者接受的备份方式,是将其数据全部写入磁带或光盘内储存并交给他。因此您不在乎 atime,不需定期做变动备份,只希望将一堆数据放到备份媒体上,而且也希望他人可以很容易地将数据从备份中取出,在这种情况下,tar 会是个最佳选择。有一些功能是cpio有而大部份的 tar 则无的( GNU tar 没有这些限制),例如:

可以备份来自stdin的档案
当备份完成时重新设定档案的atime,尽管这会改变其ctime。虽然 tar 的历史并不比 cpio 来得久,但它却得到较大的接受度,这也正是它的特点之一。几乎每个人都知道如何读 tar 档,即使不会也很容易学。有些程序如WinZip,甚至可以自动地解开一个tar 档或压缩过的 tar 档以读取其内容(WinZip 却无法开启cpio 档)。tar 也较 dump 或 cpio 在 Unix 平台间具可移植性。

tar是一个已移植到 Linux 中的经典 Unix 命令。 tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的文件目录。我们使用 tar 可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。tar是与文件系统无关的,因而它的适用范围很广,它可以使用在ext2、ext3、jfs、Reiser和其他文件系统上。

使用tar非常类似于使用诸如Windows环境下的Winzip、WinRAR这样的文件实用工具。只需将它指向一个目的(可以是文件或设备),然后指定想要打包的文件,就可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。要通过bzip2压缩或解压缩文件,可使用tar -z命令。

下面是一个简单的使用该工具进行数据备份的例子:
# tar czvf - /root/code > /tmp/code_bak.tgz (将/root/code目录下的所有程序文件打包备份到/tmp/code_bak.tgz)

# tar xzvf /tmp/code_bak.tgz /root/code (将备份的目录文件恢复到指定目录)

磁带机操作命令:
tar命令:
使用tar命令复制文件或者目录树到单个磁带。
注:不能复制空目录或者设备文件这样的特殊文件,不能用来创建多个磁带卷。

1、复制文件到磁带
(1)切换到包含有需要复制文件的目录
(2)在磁带驱动器中插入可以写入的磁带
(3)输入 tar cvf /dev/rmt/0 filenme filename …

注意:c选项复制指定的文件,v选项显示复制文件的信息,f选项后面跟随的是tar文件写入的磁带设备名。指定的文件名复制到磁带,覆盖磁带上任何已存在的文件。

特别注意:使用c选项复制文件到磁带将破坏磁带上已有的任何文件。如果要保留这些文件,用r选项。

2、列出磁带上的文件
(1)插入磁带到磁带驱动器。
(2)输入 tar tvf /dev/rmt/0
注:t选项列出指定的文件,v选项显示文件的全部信息,f选项后面跟随的是tar文件写入的磁带设备名。

3、添加文件到磁带
(1)切换到包含有需要复制文件的目录。
(2)在磁带驱动器中插入可以写入的磁带
(3)输入 tar rvf /dev/rmt/0 filename filename...
指定的文件添加到磁带上已有文件的后面。
//注:如果使用n选项做为磁带设备名的一部分,可以自制多个tar文件集到磁带。输入 tar cvf /dev/rmt/0n filenae ,当该文件自制完毕时磁带不回绕,下一次使用磁带时,文件在当前文件集的结尾写入。

4、从磁带获取文件集的结尾写入
(1)切换到包含有需要复制文件的目录。
(2)在磁带驱动器中插入磁带。
(3)输入 tar xvf /dev/rmt/0
指定驱动器中磁带上的所有文件复制到当前目录中。从磁带中获取单个文件,输入 'tar xvf /dev/rmt/n filename filename' ,可从磁带中展开指定的文件名,放入当前工作目录。

5、从磁带上递归读取目录和子目录
(1)更换目录到要自制文件的父目录
tar xvf /dev/rmt/0 filename 将恢复filename到当前目录。
(2)输入 tar xvf /dev/rmt/0 directory-name ,从磁带中递归复制该目录和它的所有子目录。

dd工具
大部份的人不常使用 dd 来作备份,它是一个相当低阶的指令,可将信息内涵的每个位(bit)原封不动地从一个地方搬到另一个地方,它不管也无需知道备份数据的结构。因此不同于 dump、tar及cpio,它不可以拷贝一群档案至储存媒体,只可以拷贝一个档案或一档案的部份或 partition 或部份 partition,甚至可以在数据修改中途将数据从标准输入(stdin)拷贝至标准输出(stdout)。即使 dd 可以拷贝单一档案,但其对档名或档案内容是一无所知的, 它纯粹只是从一个地方搬运档案的位内容至另一个地方而已。这种方式看似相当简单,相对地它也相当有弹性,可以在不考虑数据格式之下执行拷贝动作,因此它可在两个不同平台间作资料转换。例如:从 EBCDIC 到 ASCII或 Oracle 允许数据以档案系统下的档案形式存在,亦可以直接放在原始磁盘区块上,然而备份程式无法预测数据库管理师会以何种方式存放数据,故采用富弹性的dd 作自动备份,甚至备份结果是混合此两种数据形式也无妨,亦即有些在档案系统中,有些则在原始磁盘上。如此,数据管理师可依数据应用特性决定其存放形式,可见 dd 所提供的弹性帮助甚大。

其它备份工具
尚有其它较不为人知或只出现在某些平台的备份工具,现在市场上还存在着诸如Tivoli Storage Manager之类的商业化存储备份工具,这些都是可视化的工具,用户可以方便地通过用户界面来实现备份与恢复。值得注意的是,这是一款商业软件,因而并不是免费的,对于很多用户来说,它所提供的功能与我们上述的Linux自带的备份与恢复工具比较相似,只是更加人性化和友好,使用户从枯燥的命令行方式下摆脱出来,从而方便用户使用。

备份需要花费一定量的物力和财力,如何在备份所取得的收益与备份消耗的资源上做一个权衡是网络安全工作者需要考虑的一个大问题,因为支出大于产出也就意味着低效甚至失败。所以在Linux环境中进行数据备份,需要根据实际情况进行区分对待,以取得比较好的效果。特别是需要对一些关键的目录进行区分,从而做到有针对性的备份,减少不必要的浪费。

一般情况下,以下所列目录是需要备份的,它们在系统中具有举足轻重的地位:/etc包含所有核心配置文件,这其中包括密码文件、网络配置文件、系统名称、防火墙规则、NFS文件系统配置文件以及其他全局系统项;/var包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件等;/home包含所有用户的默认用户主目录,这包括他们的个人设置、已下载的文件和用户存放在系统中的重要的信息;/root是根(root)用户的主目录;/bin是存放许多系统中常用的诸如ls、ps等命令的重要场所,这些命令在磁盘上均有影响,极容易遭受黑客的破坏。

相反地,在Linux系统中,如下目录是不应该备份的:/proc永远不需要备份,它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,它包括诸如 /proc/cpuinfo、/proc/meminfo 这样的文件,这个文件是整个运行内存的虚拟视图,一旦系统关机或者重新启动,该目录下的信息便不复存在;/dev包含硬件设备的文件表示,如果计划还原到一个空白的系统,那就可以备份 /dev,如果计划还原到一个已安装的Linux系统,那么备份/dev 是没有必要的;另外,一些软链接(也就是指向另外一些磁盘文件的文件)是不需要备份的,因为这些文件当中存储的只是被指向文件的地址,这些软链接文件,用户可以通过使用“ls -l”命令来判定,如下所示,其中linux-2.4即为一个软链接文件,它指向的是linux-2.4.7-10这个目录。

lrwxrwxrwx 1 root root 14 6月 19 2004 linux-2.4 -> linux-2.4.7-10 ,其中较常使用的包括:

pax:pax是Portable Archive eXchange的缩写,可产生一可携式的备份,此备份格式符合 IEEE Std.1003.1-1988的Archive/Interchange File Format。 pax 亦可擦写一些其它的档案格式如 tar 或 cpio。 正如 Unix 世界的许多现象般,pax也有一群拥护者认为它是备份工具中最好的选择。Pax用法示例:

pax命令    说明
pax –f myfiles    列出名为myfiles的存档内容
pax –r –f myfiles    提取名为myfiles的存档内容
pax –w -f  myfiles /data    在/data目录内建立名为myfiles的存档文件
pax –w –f myfiles *.txt    存档当前目录下包含.txt文件扩展名的所有文件
pax –r –w /olddir /newdir    将/olddir目录的全部内容复制到名为/newdir的新目录中
pax –w –B 1440000 –f /dev/fd0 *    将当前目录的内容存档到软盘中
pax –w –x cpio –f myfiles *    用cpio格式把当前目录的内容存档到名为myfiles的存档文件中
pax –r –U hto –f backups    从为backups的存档中提取用户hto拥有的所有文件

pax选项    说明
-r    从存档中读取文件
-w    把文件写入存档
-a    在以前的存档中追加文件
-b blocksize    指定存档的数据块大小,必须为512的倍数
-c    除匹配指定的模式外,匹配所有的文件
-d    仅仅匹配文件名或目录名,而不匹配完整路径
-f archive    指定存档文件名
-I    存档时,交互式更改文件文件名
-k    不重写现有的文件
-l    当文件为复制模式(-r,-w)时,把文件与硬件链路链接
-n    只匹配第一个文件,读文件所提供的模式
-o options    所使用的存档格式所特有的附加选项
-p string    指定保留存档或复制埋单的文件特性
-s repistr    使用所提供的正则表达式修改已存档的文件名
-t    保留存档文件的访问次数
-u    不重新写较旧版本的文件
-v    当运行时,提供详细的输出
-x format    指定存档文件的格式,有效的格式包括….。使用ustar记取存档文件时,pax将自动确定正确的文件类型
-B bytes    指定每卷存档的字节数,使用该选项在可移动介质上创建多卷存档文件
-D    不使用具有较早的文档索引修改时间的文件重写现有文件
-E limit    当遇到读取或写入错误就限制pax重试的次数
-G gorup    根据小组名或GID选择文件。要根据GID选择,把’#’符号放在组号前面
-H    当完成实际文件系统的遍历时,采用命令行符号链接程序
-L    当遍历目录结构时,采用所有符号链接程序
-P    不采用符号链接,此为默认值
-T time    根据修改时间选择文件。关于参数语请参考其手册
-U user    据主用户名或据其前面有一个’#’符号的UID名选择文件
-X    不能遍历驻留在不同设备上的目录
-Y    除了在完成所有文件名改名后使用创建的路径名查看文件索引变化时间外,该选项与-D选项完全相同
-Z    除了在完成所有文件名的更改后使用创建的路径名查看文件索引变化时间外,该选项与-u选项完全相同

使用dump备份数据
对许多系统环境而言,dump 是一确保备份质量的好工具。为使用dump 及 restore 作定期系统备份,必须先了解下面事项:
● 如何使用dump备份文件系统;
● 如何备份至储存媒体上;
● 如何从一dump文件读取其内的数据目录;
● 如何处理dump文件并从dump文件中将数据回复。

dump指令的语法,先从dump的基本指令开始:
# dump levelunbdsf blkg-factor density size device-name file_system

下面是执行此指令的例子:
对/home做一完整备份至本地磁带机/dev/rmt/0cbn:
# dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home

对/home做一完整备份至光驱/backup/home.dump:
# dump 0unbdsf 126 141000 11500 /backup/home.dump /home

对/home做一完整备份至远程主机hsm的磁带机/dev/rmt/0cbn:
# dump 0unbdsf 126 141000 11500 hsm:/dev/rmt/0cbn /home

上述的指令包含不需要参数的三个选项( 0,u,及 n ),及需要参数的四个选项(b,d,s 及f)。dump 指令的第一个参数是一串选项,然后每个选项对应的参数依照选项的顺序依次放置于指令行。

dump指令的选项
在大部分的平台上,dump有七个主要的选项:
0 -9:标示dump应执行的备份阶层。
b:标示dump应使用的区块数目因子。
u:告诉dump须更新dumpdates档案。
n:告诉dump,当完成dump动作时通知操作者及与其同一组(group)的人。
D 及 s:告诉dump备份的数据量多大,dump利用这些数字预估需要多少”磁带”。
f:告诉dump使用何种储存设备。
W, w:此选项几乎很少用到,它告诉dump执行假备份以判断有那些档案系统必须备份。

如果欲使用 dump 定期执行系统备份,那么您应会用到上述大部份的选项。这些选项有默认值,如无特别要求,可不用特别标明dump 选项及其参数,例如:预设的备份阶层通常是 9。默认值的问题是它们会因不同的操作系统而不同,甚至同一个操作系统也会因储存媒体的不同而有差异。最好的方式是在所有的 dump 备份都标明相同的选项,有助于数据回复的容易度。

使用resotore工具回复数据
您必须相当熟悉以不同的方式使用 restore 指令,从 dump 产生的备份中取得资料。含备份数据的储存媒体可读否?为确保你知道备份磁带的格式与区块数目大小,先尝试列出它的目录。下列指令可产生 dump 备份磁带的目录:
$ restore tbfy block_size device-name

例如,从一个在 /dev/rmt/0cbn 磁带设备上的 dump 磁带(使用的区块因子是32 )读取其目录,指令如下:
$ restore tbfy 32 /dev/rmt/0cbn

restore指令的语法
一旦可以读取 dump 磁带, 您必须决定要读什么数据及如何读它,以下讨论 restore 一般常用的参数。基本上,有四件事情是你希望dump磁带提供的:
● 读取dump磁带的目录以确认内容是否需要;
● 回复整个档案系统;
● 回复选定的档案;
● 执行交互式的回复。

一般restore指令语法如下:
restore [trxi]vbsfy blocking-factor file-number device-name

restore指令的选项
restore 的行为如何,端视其后的参数型态决定回复的形式。第一个参数指明 restore 的型式,只可以从四种可能的参数中挑选一种:
t:告诉restore显示备份磁带的目录。
r:指明备份磁带的整卷内容回复到目前的工作目录之下。
x:只回复restore指令行末端所列的档案。
i:以互动方式回复数据。

决定回复的行为,下面的参数不是必须的,但会影响回复的行为:
v:指定以明细(verbose)的方式输出。
s:在开始读磁带前需跳过一些磁带上的档案。
b:指定正要读取磁带的区块因子。
f:标明正使用的备份设备之档名。
y:告诉restore尝试从读取错误中救回。

-----------------------------
Linux备份压缩命令解析
名称:dump

格式:dump [-cnu][-0123456789][-b ][-B ][-d ][-f ][-h ][-s ][-T ][目录或文件系统] 或 dump [-wW] 备份文件系统。

说明:dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

参数:
-0123456789  备份的层级。
-b  指定区块的大小,单位为KB。
-B  指定备份卷册的区块数目。
-c  修改备份磁带预设的密度与容量。
-d  设置磁带的密度。单位为BPI。
-f  指定备份设备。
-h  当备份层级等于或大雨指定的层级时,将不备份用户标示为"nodump"的文件。
-n  当备份工作需要管理员介入时,向所有"operator"群组中的使用者发出通知。
-s  备份磁带的长度,单位为英尺。
-T  指定开始备份的时间与日期。
-u  备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。
-w  与-W类似,但仅显示需要备份的文件。
-W  显示需要备份的文件及其最后一次备份的层级,时间与日期。

名称:restore

格式:restore [-cCvy][-b ][-D ][-f ][-s ] 或 restore [-chimvy][-b ][-f ][-s ] 或 restore [-crvy][-b ][-f ][-s ] 或 restore [-cRvy][-b ][-D ][-f ][-s ] 或 restore [chtvy][-b ][-D ][-f ][-s ][文件...] 或 restore [-chmvxy][-b ][-D ][-f ][-s ][文件...]

说明:还原(Restore)由倾倒(Dump)操作所备份下来的文件或整个文件系统(一个分区)。 restore 指令所进行的操作和dump指令相反,倾倒操作可用来备份文件,而还原操作则是写回这些已备份的文件。

参数:
-b 设置区块大小,单位是Byte。
-c 不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件。
-C 使用对比模式,将备份的文件与现行的文件相互对比。
-D 允许用户指定文件系统的名称。
-f 从指定的文件中读取备份数据,进行还原操作。
-h 仅解出目录而不包括与该目录相关的所有文件。
-i 使用互动模式,在进行还原操作时,restore指令将依序询问用户。
-m 解开符合指定的inode编号的文件或目录而非采用文件名称指定。
-r 进行还原操作。
-R 全面还原文件系统时,检查应从何处开始进行。
-s 当备份数据超过一卷磁带时,您可以指定备份文件的编号。
-t 指定文件名称,若该文件已存在备份文件中,则列出它们的名称。
-v 显示指令执行过程。
-x 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内。
-y 不询问任何问题,一律以同意回答并继续执行指令。

名称:ar

格式:ar[-dmpqrtx][cfosSuvV][a][b][i][备存文件][成员文件] 

说明:建立或修改备存文件,或是从备存文件中抽取文件。ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

参数:
-d  删除备存文件中的成员文件。
-m  变更成员文件在备存文件中的次序。
-p  显示备存文件中的成员文件内容。
-q  将问家附加在备存文件末端。
-r  将文件插入备存文件中。
-t  显示备存文件中所包含的文件。
-x  自备存文件中取出成员文件。

选项参数
a  将文件插入备存文件中指定的成员文件之后。
b  将文件插入备存文件中指定的成员文件之前。
c  建立备存文件。
f  为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
i  将问家插入备存文件中指定的成员文件之前。
o  保留备存文件中文件的日期。
s  若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
S  不产生符号表。
u  只将日期较新文件插入备存文件中。
v  程序执行时显示详细的信息。
V  显示版本信息。

名称:bunzip2

格式:bunzip2 [-fkLsvV][.bz2压缩文件] 

说明:.bz2文件的解压缩程序。bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同。

参数:
-f或--force  解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数。
-k或--keep  在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数。

-s或--small  降低程序执行时,内存的使用量。
-v或--verbose  解压缩文件时,显示详细的信息。
-l,--license,-V或--version  显示版本信息。

名称:bzip2

格式:bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]

说明:bzip2文件的压缩程序。bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

参数:
-c或--stdout  将压缩与解压缩的结果送到标准输出。
-d或--decompress  执行解压缩。
-f或--force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。 
-h或--help  显示帮助。
-k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
-s或--small  降低程序执行时内存的使用量。
-t或--test  测试.bz2压缩文件的完整性。
-v或--verbose  压缩或解压缩文件时,显示详细的信息。
-z或--compress  强制执行压缩。
-L,--license,
-V或--version  显示版本信息。
--repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。
--repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。
-压缩等级  压缩时的区块大小。 

名称:bzip2recover

格式:bzip2recover [.bz2 压缩文件] 

说明:用来修复损坏的.bz2文件。bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况。 

名称:compress

格式:compress [-cdfrvV][-b ][文件或目录...] 

说明:压缩或解压文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z"的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论是压缩或解压缩,都可通过compress指令单独完成。

参数:
-b  压缩效率是一个介于9-16的数值,预设值为"16",指定愈大的数值,压缩效率就愈高。
-c  把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d  对文件进行解压缩而非压缩。
-f  强制保存压缩文件,不理会文件名称或硬连接是否存在,该文件是否为符号连接以及压缩效率高低的问题。
-r  递归处理,将指定目录下的所有文件及子目录一并处理。
-v  显示指令执行过程。
-V  显示指令版本及程序预设值。

名称:cpio

格式:cpio [-0aABckLovV][-C ][-F ][-H ][-O ][--block-size=][--force-local][--help][--quiet][--version]

cpio [-bBcdfikmnrsStuvV][-C ][-E ][-F ][-H ][-I ][-M ][-R ][--block-size=][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version][范本样式...] 或 cpio [-0adkiLmpuvV][-R ][--help][--no-preserve-owner][--quiet][--sparse][--version][目的目录]

说明:cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。

参数:
-0或--null  接受新增列控制字符,通常配合find指令的"-print0"参数使用。
-a或--reset-access-time  重新设置文件的存取时间。
-A或--append  附加到已存在的备份档中,且这个备份档必须存放在磁盘上,而不能放置于磁带机里。
-b或--swap  此参数的效果和同时指定"-sS"参数相同。
-B  将输入/输出的区块大小改成5210 Bytes。
-c  使用旧ASCII备份格式。
-C或--io-size=  设置输入/输出的区块大小,单位是Byte。
-d或--make-directories  如有需要cpio会自行建立目录。
-E或--pattern-file=  指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式。
-f或--nonmatching  让cpio解开所有不符合范本条件的文件。
-F或--file=  指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档。
-H  指定备份时欲使用的文件格式。
-i或--extract  执行copy-in模式,还原备份档。
-l  指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档。
-k  此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题。
-l或--link  以硬连接的方式取代复制文件,可在copy-pass模式下运用。
-L或--dereference  不建立符号连接,直接复制该连接所指向的原始文件。
-m或preserve-modification-time  不去更换文件的更改时间。
-M或--message=  设置更换保存媒体的信息。
-n或--numeric-uid-gid  使用"-tv"参数列出备份档的内容时,若再加上参数"-n",则会以用户识别码和群组识别码替代拥有者和群组名称列出文件清单。
-o或--create  执行copy-out模式,建立备份档。
-O  指定备份档的名称,用来取代标准输出,也能借此通过网络使用另一台主机的保存设备存放备份档。
-p或--pass-through  执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录。
-r或--rename  当有文件名称需要更动时,采用互动模式。
-R或----owner  在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组。

-s或--swap-bytes  交换每对字节的内容。
-S或--swap-halfwords  交换每半个字节的内容。
-t或--list  将输入的内容呈现出来。
-u或--unconditional  置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖。
-v或--verbose  详细显示指令的执行过程。
-V或--dot  执行指令时,在每个文件的执行程序前面加上"."号
--block-size=  设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,依次类推。
--force-local  强制将备份档存放在本地主机。
--help  在线帮助。
--no-absolute-filenames  使用相对路径建立文件名称。
--no-preserve-owner  不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有。
--only-verify-crc  当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误。
--quiet  不显示复制了多少区块。
--sparse  倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
--version  显示版本信息。 

名称:gunzip

格式:gunzip [-acfhlLnNqrtvV][-s ][文件...] 或 gunzip [-acfhlLnNqrtvV][-s ][目录]

说明:gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为".gz"。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。

参数:
-a或--ascii  使用ASCII文字模式。
-c或--stdout或--to-stdout  把解压后的文件输出到标准输出设备。
-f或-force  强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
-h或--help  在线帮助。
-l或--list  列出压缩文件的相关信息。
-L或--license  显示版本与版权信息。
-n或--no-name  解压缩时,若压缩文件内含有远来的文件名称及时间戳记,则将其忽略不予处理。
-N或--name  解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。
-q或--quiet  不显示警告信息。
-r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-S或--suffix  更改压缩字尾字符串。
-t或--test  测试压缩文件是否正确无误。
-v或--verbose  显示指令执行过程。
-V或--version 显示版本信息。 

名称:gzexe

格式:gzexe [-d][执行文件...]

说明:gzexe是用来压缩执行文件的程序。当您去执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。

参数:
-d  解开压缩文件。 

名称:gzip

格式:gzip [-acdfhlLnNqrtvV][-S ][-][--best/fast][文件...]

gzip [-acdfhlLnNqrtvV][-S ][-][--best/fast][目录] 

说明:压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。

参数:
-a或--ascii  使用ASCII文字模式。
-c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d或--decompress或----uncompress  解开压缩文件。
-f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

-h或--help  在线帮助。
-l或--list  列出压缩文件的相关信息。
-L或--license  显示版本与版权信息。
-n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。
-N或--name  压缩文件时,保存原来的文件名称及时间戳记。
-q或--quiet  不显示警告信息。
-r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-S或----suffix  更改压缩字尾字符串。
-t或--test  测试压缩文件是否正确无误。
-v或--verbose  显示指令执行过程。
-V或--version  显示版本信息。
-  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
--best  此参数的效果和指定"-9"参数相同。
--fast  此参数的效果和指定"-1"参数相同。 

名称:lha

格式:lha [-acdfglmnpqtuvx][-a /u][-d][-i][-o][-w=][-z][压缩文件][文件...] 或
lha [-acdfglmnpqtuvx][-a /u][-d][-i][-o][-w=][-z][压缩文件][目录...]

说明:压缩或解压缩文件,lha是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有".lzh"扩展名的压缩文件。

参数:
-a或a 压缩文件,并加入到压缩文件内。
-a/u 压缩文件时,采用不同的文件头。
-c或c 压缩文件,重新建构新的压缩文件后,再将其加入。
-d或d 从压缩文件内删除指定的文件。
-d或d 压缩文件,然后将其加入,重新建构,更新压缩文件或,删除原始文件,也就是把文件移到压缩文件中。
-e或e 解开压缩文件。
-f或f 强制执行lha命令,在解压时会直接覆盖已有的文件而不加以询问。
-g或g 使用通用的压缩格式,便于解决兼容性的问题。
-i或i 解开压缩文件时,忽略保存在压缩文件内的文件路径,直接将其解压后存放在现行目录下或是指定的目录中。
-l或l 列出压缩文件的相关信息。
-m或m 此参数的效果和同时指定"-ad"参数相同。
-n或n 不执行指令,仅列出实际执行会进行的动作。
-o或o 采用lharc兼容格式,将压缩后的文件加入,更新压缩文件。
-p或p 从压缩文件内输出到标准输出设备。
-q或q 不显示指令执行过程。
-t或t 检查备份文件内的每个文件是否正确无误。
-u或u 更换较新的文件到压缩文件内。
-u或u 在文件压缩时采用不同的文件头,然后更新到压缩文件内。
-v或v 详细列出压缩文件的相关信息。
-w=或w= 指定解压缩的目录。
-x或x 解开压缩文件。
-z或z 不压缩文件,直接把它加入,更新压缩文件。 

名称:restore

格式:restore [-cCvy][-b ][-D ][-f ][-s ] 或 restore [-chimvy][-b ][-f ][-s ] 或 restore [-crvy][-b ][-f ][-s ] 或 restore [-cRvy][-b ][-D ][-f ][-s ] 或 restore [chtvy][-b ][-D ][-f ][-s ][文件...] 或 restore [-chmvxy][-b ][-D ][-f ][-s ][文件...] 

说明:还原(Restore)由倾倒(Dump)操作所备份下来的文件或整个文件系统(一个分区)。 restore 指令所进行的操作和dump指令相反,倾倒操作可用来备份文件,而还原操作则是写回这些已备份的文件。

参数:
-b 设置区块大小,单位是Byte。
-c 不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件。
-C 使用对比模式,将备份的文件与现行的文件相互对比。
-D 允许用户指定文件系统的名称。
-f 从指定的文件中读取备份数据,进行还原操作。
-h 仅解出目录而不包括与该目录相关的所有文件。
-i 使用互动模式,在进行还原操作时,restore指令将依序询问用户。
-m 解开符合指定的inode编号的文件或目录而非采用文件名称指定。
-r 进行还原操作。
-R 全面还原文件系统时,检查应从何处开始进行。
-s 当备份数据超过一卷磁带时,您可以指定备份文件的编号。
-t 指定文件名称,若该文件已存在备份文件中,则列出它们的名称。
-v 显示指令执行过程。
-x 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内。
-y 不询问任何问题,一律以同意回答并继续执行指令。

名称:tar

格式:tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b ][-C ][-f ][-F ][-K ][-L ][-N ][-T ][-V ][-X ][-][--after-date=][--atime-preserve][--backuup=][--checkpoint][--concatenate][--confirmation][--delete][--exclude=][--force-local][--group=][--help][--ignore-failed-read][--new-volume-script=][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=][--recursive-unlink][--remove-files][--rsh-command=][--same-owner][--suffix=][--totals][--use-compress-program=][--version][--volno-file=][文件或目录...] 

说明:备份文件,tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

参数:
-A或--catenate 新增温暖件到已存在的备份文件。
-b或--blocking-factor= 设置每笔记录的区块数目,每个区块大小为12Bytes。
-B或--read-full-records 读取数据时重设区块大小。
-c或--create 建立新的备份文件。
-C或--directory= 切换到指定的目录。
-d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
-f或--file= 指定备份文件。
-F或--info-script= 每次更换磁带时,就执行指定的Script文件。
-g或--listed-incremental 处理GNU格式的大量备份。
-G或--incremental 处理旧的GNU格式的大量备份。
-h或--dereference 不建立符号连接,直接复制该连接所指向的原始文件。
-i或--ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
-k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
-K或--starting-file= 从指定的文件开始还原。
-l或--one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
-L或-tape-length= 设置存放每体的容量,单位以1024 Bytes计算。
-m或--modification-time 还原文件时,不变更文件的更改时间。
-M或--multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
-N或--newer= 只将较指定日期更新的文件保存到备份文件里。
-o或--old-archive或--portability 将资料写入备份文件时使用V7格式。
-O或--stdout 把从备份文件里还原的文件输出到标准输出设备。
-p或--same-permissions 用原来的文件权限还原文件。
-P或--absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
-r或--append 新增文件到已存在的备份文件的结尾部分。
-R或--block-number 列出每个信息在备份文件中的区块编号。
-s或--same-order 还原文件的顺序和备份文件内的存放顺序相同。
-S或--sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
-t或--list 列出备份文件的内容。
-T或--files-from= 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
-u或--update 仅置换较备份文件内的文件更新的文件。
-U或--unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
-v或--verbose 显示指令执行过程。
-V或--label= 建立使用指定的卷册名称的备份文件。
-w或--interactive 遭遇问题时先询问用户。
-W或--verify 写入备份文件后,确认文件正确无误。
-x或--extract或--get 从备份文件中还原文件。
-X或--exclude-from= 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-Z或--compress或--uncompress 通过compress指令处理备份文件。
- 设置备份用的外围设备编号及存放数据的密度。
--after-date= 此参数的效果和指定"-N"参数相同。
--atime-preserve 不变更文件的存取时间。
--backup=或--backup 移除文件前先进行备份。
--checkpoint 读取备份文件时列出目录名称。
--concatenate 此参数的效果和指定"-A"参数相同。
--confirmation 此参数的效果和指定"-w"参数相同。
--delete 从备份文件中删除指定的文件。
--exclude= 排除符合范本样式的问家。
--group= 把加入设备文件中的文件的所属群组设成指定的群组。
--help 在线帮助。
--ignore-failed-read 忽略数据读取错误,不中断程序的执行。
--new-volume-script= 此参数的效果和指定"-F"参数相同。
--newer-mtime 只保存更改过的文件。
--no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
--null 从null设备读取文件名称。
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
--owner= 把加入备份文件中的文件的拥有者设成指定的用户。
--posix 将数据写入备份文件时使用POSIX格式。
--preserve 此参数的效果和指定"-ps"参数相同。
--preserve-order 此参数的效果和指定"-A"参数相同。
--preserve-permissions 此参数的效果和指定"-p"参数相同。
--record-size= 此参数的效果和指定"-b"参数相同。
--recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
--remove-files 文件加入备份文件后,就将其删除。
--rsh-command= 设置要在远端主机上执行的指令,以取代rsh指令。
--same-owner 尝试以相同的文件拥有者还原问家你。
--suffix= 移除文件前先行备份。
--totals 备份文件建立后,列出文件大小。
--use-compress-program= 通过指定的指令处理备份文件。
--version 显示版本信息。
--volno-file= 使用指定文件内的编号取代预设的卷册编号。 

名称:unarj

格式:unarj [eltx][.arj压缩文件] 

说明:解压缩.arj文件,unarj为.arj压缩文件的压缩程序。

参数:
e 解压缩.arj文件。
l 显示压缩文件内所包含的文件。
t 检查压缩文件是否正确。
x 解压缩时保留原有的路径。 

名称:unzip

格式:unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip文件][文件][-d ][-x ] 或
unzip [-Z] 

说明:解压缩zip文件,unzip为.zip压缩文件的解压缩程序

参数:
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS的文件版本信息。
-X 解压缩时同时回存文件原来的UID/GID。
[.zip文件] 指定.zip压缩文件。
[文件] 指定要处理.zip压缩文件中的哪些文件。
-d 指定文件解压缩后所要存储的目录。
-x 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip -Z等于执行zipinfo指令。 

名称:zip

格式:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b ][-ll][-n ][-t ][-][压缩文件][文件...][-i ][-x ] 

说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。

参数:
-A 调整可执行的自动解压缩文件。
-b 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在Unix之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
- 压缩效率是一个介于1-9的数值。 

名称:zipinfo

格式:zipinfo [-12hlmMstTvz][压缩文件][文件...][-x ] 

说明:列出压缩文件信息。

参数:
-1 只列出文件名称。
-2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用。
-h 只列出压缩文件的文件名称。
-l 此参数的效果和指定"-m"参数类似,但会列出原始文件的大小而非每个文件的压缩率。
-m 此参数的效果和指定"-s"参数类似,但多会列出每个文件的压缩率。
-M 若信息内容超过一个画面,则采用类似more指令的方式列出信息。
-s 用类似执行"ls -l"指令的效果列出压缩文件内容。
-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率。
-T 将压缩文件内每个文件的日期时间用年、月、日、时、分、秒的顺序列出。
-v 详细显示压缩文件内每一个文件的信息。
-x 不列出符合条件的文件的信息。
-z 如果压缩文件内含有注释,就将注释显示出来。

执行zipinfo指令可得知zip压缩文件的详细信息。

该文章最后由 阿炯 于 2012-05-05 16:24:57 更新,目前是第 4 版。