服务公告

最新产品资讯、服务公告、官网动态一手掌握

服务公告 > Linux实用技巧 > Centos系统文件归档与压缩(tar)

Centos系统文件归档与压缩(tar)

发布时间:2021-09-24 04:17

centos系统如何文件归档与压缩?本教程以centos7系统为例

本配置适用于centos67版本

1.tar

1.1命令与参数

用法:tar [参数] [压缩文件名] [要压缩的文件]
使用参数时,可以不使用

-c create,创建文件 -x extract,提取解压还原文件 -v 显示执行显示过程 -f 指定备份文件 -t 列出备份文件内容,不解包查看包中的内容 -C 指定解包位置 -z --gzip,以gzip方式压缩 扩展名:tar.gz -j 以bz2方式压缩 扩展名:tar.bz2 -J 以xz方式压缩 扩展名:tar.xz

1.2归档例子

打包/etc/hosts文件

[root@liang ~]# tar cvf hosts.tar /etc/hosts tar: Removing leading `/' from member names /etc/hosts [root@liang ~]# ll hosts.tar -rw-r--r--. 1 root root 10240 Sep 14 20:16 hosts.tar

在使用绝对路径进行压缩时,将默认从文件名中删除该路径中前面的/符号,这样揭阳时,会直接解压到当前目录,不然会覆盖掉原系统中的路径文件。

指定路径解包

[root@liang ~]# tar xvf hosts.tar -C /opt/ etc/hosts [root@liang ~]# ll /opt/etc/ total 4 -rw-r--r--. 1 root root 158 Jun 7 2013 hosts 打包多个文件 [root@liang ~]# tar cvf all.tar /etc/hosts /opt/etc/ /etc/passwd tar: Removing leading `/' from member names /etc/hosts /opt/etc/ /opt/etc/hosts /etc/passwd [root@liang ~]# ll all.tar -rw-r--r--. 1 root root 10240 Sep 14 20:25 all.tar 不解包文件的情况下,查看包有什么文件 [root@liang ~]# tar -tvf all.tar -rw-r--r-- root/root 158 2013-06-07 10:31 etc/hosts drwxr-xr-x root/root 0 2018-09-14 20:23 opt/etc/ -rw-r--r-- root/root 158 2013-06-07 10:31 opt/etc/hosts -rw-r--r-- root/root 1040 2018-08-15 13:36 etc/passwd 打包多目录 [root@liang ~]# tar cvf dir.tar /etc/ /var/ [root@liang ~]# ll dir.tar -rw-r--r--. 1 root root 149657600 Sep 14 20:29 dir.tar

1.3打包加压缩

1:以gzip进行压缩

[root@liang ~]# tar zcvf hosts.tar.gz /etc/hosts tar: Removing leading `/' from member names /etc/hosts

对比不压缩的包大小

[root@liang ~]# du -h hosts.* 12K hosts.tar 4.0K hosts.tar.gz

解压

[root@liang ~]# tar zxvf hosts.tar.gz

etc/hosts

2:以bz2方式压缩

[root@liang ~]# tar jcvf hosts.tar.bz2 /etc/hosts tar: Removing leading `/' from member names /etc/hosts tar (child): bzip2: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now

报错:是因为没有bzip2的解压工具,需要安装

解决yum install bzip2 -y

[root@liang ~]# tar jcvf hosts.tar.bz2 /etc/hosts tar: Removing leading `/' from member names /etc/hosts 解压 [root@liang ~]# tar jxvf hosts.tar.bz2 etc/hosts 例3:以xz方式压缩 [root@liang ~]# tar Jcvf hosts.tar.xz /etc/hosts tar: Removing leading `/' from member names /etc/hosts 解压 [root@liang ~]# tar Jxvf hosts.tar.xz etc/hosts

1.4对比三种打包方式的大小与速度

对比速度

[root@liang ~]# time tar zcvf etc.tar.gz /etc/ real 0m0.868s user 0m0.740s sys 0m0.099s [root@liang ~]# time tar jcvf etc.tar.bz2 /etc/ real 0m2.037s user 0m1.933s sys 0m0.078s [root@liang ~]# time tar Jcvf etc.tar.xz /etc/ real 0m9.828s user 0m9.577s sys 0m0.193s time命令输入解释 real: 表示程序整个的运行耗时。可以理解为命令运行开始时刻你看了一下手表,命令运行结束时,你又看了一下手表,两次时间的差值就是本次real 代表的值 user:这个时间代表的是命令运行在用户态的cpu时间 sys: 这个时间代表的命令是运行在核心态的cpu时间 %cpu_usage = (user_time sys_time)/real_time * 100% 我们这里只看速度的话,tar.gz最快,bz2次之。 对比大小 [root@liang ~]# du -sh /etc/ 22M /etc/ [root@liang ~]# du -h etc* 6.0M etc.tar.bz2 6.9M etc.tar.gz 5.0M etc.tar.xz 压缩时间越久,效率就越高。 2.zip

2.1命令参数

需要安装

[root@liang ~]# yum install zip unzip -y zip 压缩命令 unzip 解压命令

参数:
-r
递归压缩,压缩目录
-d
指定加压位置

2.1例子

压缩hosts [root@liang ~]# zip hosts.zip /etc/hosts adding: etc/hosts (deflated 65%) [root@liang ~]# du -h hosts.zip 4.0K hosts.zip 解压 [root@liang ~]# unzip hosts.zip Archive: hosts.zip inflating: etc/hosts 3.gzip、bzip2、xz压缩工具 3.1gzip、bzip2、xz的使用 [root@liang test]# touch test01 [root@liang test]# gzip test01 [root@liang test]# ls test01.gz 解压 [root@liang test]# gzip -d test01.gz [root@liang test]# ls test01 只能对文件进行压缩,且压缩后源文件会消失,一般不适用 bzip2,xz这两个工具可以通过添加参数-k来保留源文件 bzip2 [root@liang test]# touch test02 [root@liang test]# bzip2 -k test02 test01.gz test02 test02.bz2 解压 [root@liang test]# rm -f test02 [root@liang test]# ls test01 test02.bz2 [root@liang test]# bzip2 -d test02.bz2 -k [root@liang test]# ls test01 test02 test02.bz2 xz [root@liang test]# xz -k test03 [root@liang test]# ls test01 test02 test02.bz2 test03 test03.xz [root@liang test]# rm -f test03 [root@liang test]# xz -d test03.xz -k [root@liang test]# ls test01 test02 test02.bz2 test03 test03.xz
免费试用30+款云服务产品 即刻开始您的上云之旅
免费试用
Baidu
map