转:http://www.ylmf.net/zhuanti/zt02/2010/1125/11602.html 写的毕竟简明,喜欢。
6.5.6 打包并压缩命令:tar
tar命令能够对一个文件或者目录内容进行打包压缩后备份。
tar命令的执行方式为:
# tar [-选项] [要打包的文件名或者目录名] [要解压或解包的文件或者目录名]
tar命令常常用来对文件或者目录做备份。无论是刚才的gzip命令,还是bzip2命令,都会发现它们只能对单一文件进行压缩,而即使是同时输入两个文件名,也只能是生成两个单独的压缩文件,而我们经常需要对很多文件或者目录同时进行压缩并且希望生成同一个文件,这样就得先通过tar命令将需要同时进行备份的内容放到同一文件里,称之为“.tar”文件,但是此时仅仅是相当于把不同文件放到了一个大文件中,并没有压缩,当然可以将打包和压缩的动作一次性完成。并且利用tar命令还可以在压缩文件中增加新文件或者改变文件。tar命令选项众多,最常用的请见表6-12。
表6-12 tar命令选项列表
tar命令的选项
|
选项说明
|
-c
|
创建新的打包文件
|
-x
|
将.tar文件解包
|
续表
tar命令的选项
|
选项说明
|
-z
|
打包后直接用gzip命令进行压缩,或者解压文件。
|
-j
|
打包后直接用bzip2命令进行压缩,或者解压文件
|
-t
|
查看一个打包文件里的文件目录
|
-f
|
使用文件或者设备(这个选项基本上是必选的)
|
-k
|
如果在还原时有相同的文件存在则不进行覆盖
|
-v
|
在打包压缩或者解包解压后将文件的详细清单是否显示出来
|
-N
|
在此选项后加日期,如果文件日期比-N选项后面
加的日期还要新才会被加进压缩包中 |
例如,现在想将/etc/passwd文件和/etc/shadow文件打包后压缩成user.tar.gz文件,可以执行如下操作:
# tar czvf /home/user.tar.gz /etc/passwd /etc/shadow
这时发现/etc/passwd文件和/etc/shadow文件还存在,并没有像gzip命令一样压缩后原文件就没有了,同时会看到由于使用v选项,在打包压缩后将压缩的文件清单也显示在了屏幕上,还可以使用-t选项进行查看包里文件,如图6-13所示。

图6-13 使用tar命令查看打包文件内容
如果想对其进行解压解包的话,就可以使用如下命令:
#tar czvf /home/user.tar.gz /etc/passwd /etc/shadow
这样就可以恢复压缩文件里的文件了。
通过以上的例子可以看出,如果要是创建文件的话,一般是cvf三个参数。如果压缩的话,一般再加上z或者j参数即可,但是后面的文件的扩展名也要相应地变成.tar.gz或者是.tar.bz2。而如果解包的话一般用xvf三个参数,同时还解压就需要加上z或者j参数了。
如果只想备份/usr/src目录下的比2007/1/1还新的文件,那么就执行如下命令:
# tar -N ‘2007/1/1’ czvf usr.tar.gz /usr/src