文章目录[隐藏]
归档和压缩文件
归档和压缩文件的益处:节约硬盘的资源 ,放慢文件传输速率
tar 命令 作用:打包、压缩文件
这幅图的就是说 123456 这几个文件打包成了一个 a.tar 文件,然而这个 a.tar 还是很大,持续用
gzip 进行压缩,变成了一个更小的压缩文件。
作用:打包、压缩文件;tar 文件是把几个文件和(或)目录汇合在一个文件里,该存档文件能够通
过应用 gzip、bzip2 或 xz 等压缩工具进行行压缩后传输
查看 man tar 这里 man 不是男人的意思,是 manual 手册的缩写
用法:tar [OPTION…] [FILE]…
参数:
<code class="c">-c create 创立文件 -x -extract [ˈekstrækt] 提取 解压还原文件 -v --verbose 显示执行具体过程 -f --file 指定备份文件 -t --list 列出压缩包中包含哪些文件,不解包,查看包中的内容 -C (大写)--directory
指定解压地位
示例1:给/boot/grub2 目录 打包
<code class="cpp">[root@xuegod63 ~]# tar -cvf grub.tar /boot/grub2/ # tar 的参数前能够不应用‘-’ [root@xuegod63 ~]# tar cvf grub.tar /boot/grub2/ [root@xuegod63 ~]# tar cf grub.tar /boot/grub2/
tar: 从成员名中删除结尾的“/”(就是把/根门路删除掉了,就变成了 boot/grub2 相对路径了,解
压时会解压到当前目录,如果不删除,那就是/boot/grub2,当解压的时候就是绝对路径了,就会笼罩
零碎中此门路的文件)
<code class="c">[root@xuegod63 ~]# tar -cf grub.tar /boot/grub2/
tar: 从成员名中删除结尾的“/”
<code class="c">[root@xuegod63 ~]# ls grub.tar [root@xuegod63 ~]# tar xvf grub.tar #解压缩 boot/grub2/ boot/grub2/device.map [root@xuegod63 ~]# ls boot #失去 boot 目录 grub2
示例2:把两个目录或目录+文件打包成一个归档包:
<code class="c">root@xuegod63 ~]# mkdir ./back [root@xuegod63 ~]# cp /etc/passwd ./back/ [root@xuegod63 ~]# tar -cvf back.tar /boot/grub /root/back/ /etc/passwd tar: 从成员名中删除结尾的“/” -rw-r--r-- root/root 1024 2020-06-28 19:46 boot/grub2/grubenv ###输入内容 -rw-r--r-- root/root 5130 2020-06-28 19:46 boot/grub2/grub.cfg drwxr-xr-x root/root 0 2020-07-03 14:23 root/back/ -rw-r--r-- root/root 2735 2020-07-03 14:23 root/back/passwd -rw-r--r-- root/root 2735 2020-06-28 19:49 etc/passwd
例 3:不解包,查看 tar 中的内容:
<code class="c">[root@xuegod63 ~]# tar -tvf back.tar # List all files in archive.tar verbosely.
例 4:比照加 v 的成果
<code class="c">root@xuegod63 ~]# tar -xf back.tar [root@xuegod63 ~]# tar -xvf back.tar boot/grub/ boot/grub/splash.xpm.gz
tar 归档+压缩
语法:tar czvf newfile.tar.gz SOURCE
语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 须要压缩的文件或目录
罕用参数:
<code class="c">-z, --gzip 以 gzip 形式压缩 扩展名: tar.gz -j : 以 bz2 形式压缩的 扩展名:tar.bz2 -J: 以 xz 形式压缩 扩展名:tar.xz
示例1:创立.tar.gz 包
<code class="c">[root@xuegod63 ~]# tar cvf /root/etc.tar /etc [root@localhost test]# tar zcvf /root/etc.tar.gz /etc #归档,留神备份的名字后缀 [root@localhost test]# tar zxvf /root/etc.tar.gz #解压缩 [root@localhost test]# tar xvf /root/etc.tar.gz #解压缩
示例2:创立.tar.bz2 包
<code class="c">语法: #tar jcvf newfile.tar.bz2 SOURCE [root@xuegod63 ~]# tar -jcvf ~/etc.tar.bz2 /etc [root@xuegod63 ~]# tar -jxvf ~/etc.tar.bz2 #解压缩 [root@xuegod63 ~]# tar -xvf ~/etc.tar.bz2 #解压缩 [root@xuegod63 ~]# tar jxvf ~/etc.tar.bz2 -C /opt #解压到 opt 目录下
示例3:创立.tar.xz 包
<code class="c">[root@xuegod63 ~]# tar -Jcvf ~/etc.tar.xz /etc [root@xuegod63 ~]# tar -Jxvf ~/etc.tar.xz #tar.xz 这类包,解压缩 [root@xuegod63 ~]# tar -xvf ~/etc.tar.xz
比照三种压缩形式后压缩比例:
<code class="c">[root@xuegod63 ~]# time tar zcf /root/etc.tar.gz /etc [root@xuegod63 ~]# time tar jcf /root/etc.tar.bz2 /etc [root@xuegod63 ~]# time tar Jcf /root/etc.tar.xz /etc [root@xuegod63 ~]# ll -h etc.tar* (*为通配符,代表任意字符任意次) -rw-r--r-- 1 0 root 28M 5 月 10 12:10 etc.tar -rw-r--r-- 1 0 root 8.7M 5 月 10 12:14 etc.tar.bz2#罕用 -rw-r--r-- 1 0 root 9.8M 5 月 10 12:11 etc.tar.gz #罕用 -rw-r--r-- 1 0 root 7.0M 5 月 10 12:16 etc.tar.xz #这个压缩比例最高,压缩的工夫是最长
查看源文件大小
<code class="c">[root@xuegod63 ~]# du -sh /etc 31M /etc
etc.tar 包为 28M ,理论简直没怎么压缩。xz 格式化为 7.0M,传输的时候效率进步很多。
明天就为大家分享到这,上面有惊喜哦。
想要收费支付这本书籍加我发送信息:k8s书籍 即可收费支付此书籍。