一、压缩解压命令
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
是一种不能免费获得源代码的共享件程序。