操作系统【10】 Linux 打包命令详解

从上文我们可以知道,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 中最常用的压缩方式。也是需要我们必须要掌握的。

官网:http://www.lenbor.com
原文地址:https://www.cnblogs.com/lenbor/p/12924185.html