从上文我们可以知道,linux系统下的的归档命令有2个,分别是他人和dd(相对而言tar使用更加广泛)。下面,我们更加详细的了解归档的两种命令。
Tar命令可以将许多文件一起保存到一个单独的磁盘中进行归档。他还能从归档文件中还原所需的文件,这个过程为解打包。该文件都是以“.tar”结尾的。tar命令的基本格式为:[root@localhost ~]#tar [选项] 源文件或目录 含义详解如下图所示:
选项 |
含义 |
-c |
将多个文件或目录进行打包。 |
-A |
追加 tar 文件到归档文件。 |
-f 包名 |
指定包的文件名。包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名; |
-v |
显示打包文件过程; |
需要注意的是,在使用 tar 命令指定选项时可以不在选项前面输入“-”。例如,使用“cvf”选项和 “-cvf”起到的作用一样。
例如:打包文件和目录。
[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg
#把anacondehks.cfg打包为 anacondehks.cfg.tar文件
选项 "-cvf" 一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。
我们再来看看tar命令的解打包使用规范,tar命令的解打包格式为:[root@localhost ~]#tar [选项] 压缩包 详解如下:
选项 |
含义 |
-x |
对 tar 包做解打包操作。 |
-f |
指定要解压的 tar 包的包名。 |
-t |
只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作。 |
-C 目录 |
指定解打包位置。 |
-v |
显示解打包的具体过程。 |
当我们看完打包和解打包明令详解后,我们可以清楚地看出解打包和打包相比较,只是把把打包选项“-cvf”改成“-xvf”如下所示:
[root@localhost ~]# tar -xvf anaconda-ks.cfg. tar
#解打包到当前目录下
[root@localhost ~]# tar -xvf test.tar -C /tmp
#把文件包test.tar解打包到/tmp/目录下
需要说明的是,如果使用“-xvf”选项,将会把包中的文件解压到当前的目录下,如果想要指定解压位置,则需要使用“-C”选项,此处的“C”必须是大写。如果只想查看文件包中有哪些文件,则可以把解打包选项 "-x" 更换为测试选项 "-t"。
[root@localhost ~]# tar -tvf ceshi.tar
tar命令做打包压缩(解压缩解打包)操作:
当 tar 命令同时做打包压缩的操作时,其基本格式如下:
[root@localhost ~]#tar [选项] 压缩包 源文件或目录
此处常用的选项有以下 2 个,分别是:
-z:压缩和解压缩 ".tar.gz" 格式;
-j:压缩和解压缩 ".tar.bz2"格式。
如:压缩与解压缩 ".tar.gz"格式。
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
#把/temp/目录直接打包压缩为".tar.gz"格式,通过"-z"来识别格式,"-cvf"和打包选项一致。
压缩与解压缩 ".tar.bz2" 格式。和".tar.gz"格式唯一的不同就是"-zcvf"选项换成了 "-jcvf",如下所示:
[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
#打包压缩为".tar.bz2"格式,注意压缩包文件名
[root@localhost ~]# tar -jxvf tmp.tar.bz2
#解压缩与解打包".tar.bz2"格式
以上所说的两种方式,把文件直接压缩成".tar.gz"和".tar.bz2"格式,才是 Linux 中最常用的压缩方式。也是需要我们必须要掌握的。