debian8系统文件如何压缩与归档?本教程以debian8系统为例
本配置适用于debian8,9版本
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@debian ~]# tar cvf hosts.tar /etc/hosts tar: Removing leading `/' from member names /etc/hosts [root@debian ~]# ll hosts.tar -rw-r--r--. 1 root root 10240 Sep 14 20:16 hosts.tar
在使用绝对路径进行压缩时,将默认从文件名中删除该路径中前面的/符号,这样解压时,会直接解压到当前目录,不然会覆盖掉原系统中的路径文件。
指定路径解包
[root@debian ~]# tar xvf hosts.tar -C /opt/ etc/hosts [root@debian ~]# ll /opt/etc/ total 4 -rw-r--r--. 1 root root 158 Jun 7 2013 hosts
打包多个文件
[root@debian ~]# 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@debian ~]# ll all.tar -rw-r--r--. 1 root root 10240 Sep 14 20:25 all.tar 不解包文件的情况下,查看包有什么文件 [root@debian ~]# 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@debian ~]# tar cvf dir.tar /etc/ /var/ [root@debian ~]# ll dir.tar -rw-r--r--. 1 root root 149657600 Sep 14 20:29 dir.tar
1.3打包加压缩
例1:以gzip进行压缩
[root@debian ~]# tar zcvf hosts.tar.gz /etc/hosts tar: Removing leading `/' from member names /etc/hosts 对比不压缩的包大小 [root@debian ~]# du -h hosts.* 12K hosts.tar
4.0K hosts.tar.gz
解压
[root@debian ~]# tar zxvf hosts.tar.gz etc/hosts 例2:以xz方式压缩 [root@debian ~]# tar Jcvf hosts.tar.xz /etc/hosts tar: Removing leading `/' from member names /etc/hosts 解压 [root@debian ~]# tar Jxvf hosts.tar.xz etc/hosts 1.4对比三种打包方式的大小与速度 对比速度 [root@debian ~]# time tar zcvf etc.tar.gz /etc/ real 0m0.868s user 0m0.740s sys 0m0.099s [root@debian ~]# time tar jcvf etc.tar.bz2 /etc/ real 0m2.037s user 0m1.933s sys 0m0.078s [root@debian ~]# 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@debian ~]# du -sh /etc/ 22M /etc/ [root@debian ~]# du -h etc* 6.0M etc.tar.bz2 6.9M etc.tar.gz 5.0M etc.tar.xz 压缩时间越久,效率就越高。
2.zip
2.1命令参数
需要安装
[root@debian ~]# yum install zip unzip -y
zip压缩命令
unzip解压命令
参数:
-r递归压缩,压缩目录
-d指定加压位置
2.1例子
压缩hosts [root@debian ~]# zip hosts.zip /etc/hosts adding: etc/hosts (deflated 65%) [root@debian ~]# du -h hosts.zip 4.0K hosts.zip 解压 [root@debian ~]# unzip hosts.zip Archive: hosts.zip inflating: etc/hosts 3.gzip、bzip2、xz压缩工具 3.1gzip、bzip2、xz的使用 [root@debian test]# touch test01 [root@debian test]# gzip test01 [root@debian test]# ls test01.gz 解压 [root@debian test]# gzip -d test01.gz [root@debian test]# ls test01 只能对文件进行压缩,且压缩后源文件会消失,一般不适用 bzip2,xz这两个工具可以通过添加参数-k来保留源文件 bzip2 [root@debian test]# touch test02 [root@debian test]# bzip2 -k test02 test01.gz test02 test02.bz2 解压 [root@debian test]# rm -f test02 [root@debian test]# ls test01 test02.bz2 [root@debian test]# bzip2 -d test02.bz2 -k [root@debian test]# ls test01 test02 test02.bz2 xz [root@debian test]# xz -k test03 [root@debian test]# ls test01 test02 test02.bz2 test03 test03.xz [root@debian test]# rm -f test03 [root@debian test]# xz -d test03.xz -k [root@debian test]# ls test01 test02 test02.bz2 test03 test03.xz
下一篇:Centos7.6如何新增IP