tar命令详解及用法

首先我们介绍第一条命令”tar -cvf /tmp/log.tar  log/”  将log文件夹内的内容归档,且归档后存储的路径为/tmp下。介绍几个参数用法:

-c:表示建立一个压缩文件的参数指令(create 的意思)。

-v:表示压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

具体实现如下图所示

然后介绍第二条命令 “tar -xvf  log.tar” 表示解压log.tar。介绍新出现的参数:

-x:解开一个压缩文件的参数指令。

具体实现

然后介绍第二条命令 “tar -xvf  log.tar” 表示解压log.tar。介绍新出现的参数:

-x:解开一个压缩文件的参数指令。

具体实现如下图所示。如下图所示

然后介绍第三条命令 “tar -cvzf /tmp/test.tar.gz jd_analysis “表示归档并采用gzip算法压缩,且将压缩后的文档置于/tmp目录下。介绍新出现的参数:

-z:表示使用gzip的属性。

具体实现如下图所示

然后介绍第四条指令” tar -xvzf  test.tar.gz -C /tmp/test” 表示解压归档文件并将解压后的文件置于/tmp/test文件夹下。介绍新出现的参数:

-C:选项来指定路径,此处为大写的C

具体实现如下图所示。

然后介绍第五条指令:”tar -cvjf /tmp/log.tar.bz2 log”表示压缩文档并采用bzip压缩算法。将压缩后的文件置于/tmp目录下。介绍新出现的参数:

-j:采用 bzip2 压缩算法。

具体实现如下图所示。

然后介绍第六条指令:“tar -xvjf log.tar.bz2 -C test/”表示解压文档并将解压后的文档置于test目录下。

具体实现如下图所示。

Linux tar命令详解

然后介绍第七条指令:“tar -tz -f log.tar.gz”表示列出压缩文档内的内容。介绍新参数。

-t:查看压缩文档里面的文件。

具体实现如下图所示。

Linux tar命令详解

然后介绍第八条指令:tar -xzv -f log.tar.gz “log/test1.log”  表示只提取归档文件内的某些文件。

具体实现如下图所示。

Linux tar命令详解
Linux tar命令详解

tar实现案例


一、备份
使用tar命令备份

tar打包命令的特点:
・保留权限
・适合备份整个目录
・可以选择不同的压缩方式
・如果选择不压缩还能实现增量备份,部份还原,参考man tar

因为Linux类系统不像windows,它不会限制ROOT用户存取任何东西,因此完全可以把一个分区上全部文件都存放入一个TAR文件中。

下面是备份过程(需要root权限)

切换到根目录:cd /

执行备份命令:
tar cvpzf backup.tgz / –exclude=/proc –exclude=/lost+found –exclude=/mnt –exclude=/sys –exclude=backup.tgz

下面详解下这个命令:
・tar 是用于打包文件的命令。
・cvpfz 是tar的选项,分别是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。
・backup.gz 是我们作为备份文件的文件名。
・“/” 是我们要备份的目录,/代表的是整个文件系统。
在 备份文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,
・例如“/proc”、“/lost+ found”、“/sys”。
・当然“backup.gz”这个备份文件本身必须排除在外,不然就无限循环了。
・另外如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。
・另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

执行备份命令后,如果文件比较多可能需要很长时间,备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。
在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

二、还原
恢复系统其实非常简单,就是把之前打包的文件覆盖回去就是了。
首先登陆为root用户,然后把之前备份的文件“backup.tgz”拷贝到分区的根目录下。
Linux中可以在一个运行的系统中恢复系统,不需要用boot-cd来专门引导。当然如果系统已经无法启动, 那就只能先重装一下系统,再来恢复。

将备份文件copy到目的机器的根目录
scp -r backup.tgz root@目的机器IP:/
tar恢复(※在目的机器上)
tar xvpfz backup.tgz -C /
新建备份时排除的文件夹(※在目的机器上)
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
恢复为原来的 SELinux Type(※在目的机器上)
restorecon -Rv /
重启机器(※在目的机器上)
reboot

留下评论