一、压缩解压命令

tar、unzip、gunzip、unarj

二、命令详解

tar
1.作用
tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。
2.格式
tar [主选项+辅选项] 文件或目录
3.主要参数
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
-r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
-t 列出档案文件的内容,查看已经备份了哪些文件。
-u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
-x 从档案文件中释放文件。
辅助选项:
-b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
-f 使用档案文件或设备,这个选项通常是必选的。
-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
-m 在还原文件时,把所有文件的修改时间设定为现在。
-M 创建多卷的档案文件,以便在几个磁盘中存放。
-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-w 每一步都要求确认。
-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
4.应用说明
tar 是Tape Archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果下载过Linux的源代码,或许已经碰到过tar文件
请注意,不要忘了Linux是区分大小写的。例如,tar命令应该总是以小写的形式执行。命令行开关可以是大写、小写或大小写的混合。例如,-t和-T执行不同的功能。文件或目录名称可以混合使用大小写,而且就像命令和命令行开关一样是区分大小写的。

 


5. 应用实例


tar

是一个命令行的工具,没有图形界面。使用 Konsole 打开一个终端窗口,接下来是一个简单的备份命令(在 /temp 目录中创建一个 back.tar 的文件, /usr 目录中所有内容都包含在其中。):


$tar cvf - /usr > /temp/back.tar


另外, tar 命令支持前面第三讲中讲过的 crontab 命令,可以用 crontab 工具设置成基于时间的有规律地运行。例如,每晚 6 点把 /usr 目录备份到 hda— 第一个 IDE 接口的主驱动器 ( 总是位于第一个硬盘 ) 中,只要将下面语句添加到 root 的 crontab 中即可:


$00 06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr


一般情况下,以下这些目录是需要备份的:



◆ /etc 包含所有核心配置文件,其中包括网络配置、系统名称、防火墙规则、用户、组,以及其它全局系统项。



◆ /var 包含系统守护进程(服务)所使用的信息,包括 DNS 配置、 DHCP 租期、邮件缓冲文件、 HTTP 服务器文件、 dB2 实例配置等。



◆ /home 包含所有默认用户的主目录,包括个人设置、已下载的文件和用户不希望失去的其它信息。



◆ /root 根( root )用户的主目录。



◆ /opt 是安装许多非系统文件的地方。 IBM 软件就安装在这里。 OpenOffice 、 JDK 和其它软件在默认情况下也安装在这里。



有些目录是可以不备份的:



◆ /proc 应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。



◆ /dev 包含硬件设备的文件表示。如果计划还原到一个空白的系统,就可以备份 /dev 。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。



unzip


1.

作用


unzip

命令位于 /usr/bin 目录中,它们和 MS DOS 下的 pkzip 、 pkunzip 及 MS

Windows

中的 Winzip 软件功能一样,将文件压缩成 .zip 文件,以节省硬盘空间,当需要的时候再将压缩文件用 unzip 命令解开。该命令使用权



限是所有用户。


2.

格式


unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip

文件 ][ 文件 ][-d ][-x ]

3.

主要参数


-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 指令。在 Linux 中,还提供了一个叫 zipinfo 的工具,能够察看 zip 压缩文件的详细信息。 unzip 最新版本是 5.50 。



gunzip


1.

作用


gunzip

命令作用是解压文件,使用权限是所有用户。


2.

格式


gunzip [-acfhlLnNqrtvV][-s ][

文件 ...]


或者


gunzip [-acfhlLnNqrtvV][-s ][

目录 ]

3.

主要参数


-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 :显示版本信息。


4.

说明


gunzip

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



unarj


1.

作用


unarj

解压缩格式为 .arj 格式的文件,使用权限是所有用户。


2.

格式


unarj [eltx][.arj

压缩文件 ]

3.

主要参数


e

:解压缩 .arj 文件。


l

:显示压缩文件内所包含的文件。


t

:检查压缩文件是否正确。


x

:解压缩时保留原有的路径。


4.

说明



带有 .arj 扩展名的文件是由用于 MS DOS 和 Windows 的 ARJ 实用程序创建的。因为 ARJ 是一种不能免费获得源代码的共享件程序。