使用tar|使用tar 命令进行文件的归档和压缩
归档和压缩文件
归档和压缩文件的好处:节约硬盘的资源 ,加快文件传输速率
tar 命令 作用:打包、压缩文件
文章图片
这幅图的就是说 123456 这几个文件打包成了一个 a.tar 文件,但是这个 a.tar 还是很大,继续用
gzip 进行压缩,变成了一个更小的压缩文件。
作用:打包、压缩文件;tar 文件是把几个文件和(或)目录集合在一个文件里,该存档文件可以通
过使用 gzip、bzip2 或 xz 等压缩工具进行行压缩后传输
查看 man tar 这里 man 不是男人的意思,是 manual 手册的缩写
用法:tar [OPTION...] [FILE]...
参数:
-ccreate创建文件
-x-extract [?ekstr?kt]提取解压还原文件
-v--verbose显示执行详细过程
-f--file指定备份文件
-t--list列出压缩包中包括哪些文件,不解包,查看包中的内容
-C(大写)--directory
指定解压位置
示例1:给/boot/grub2 目录 打包
[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,当解压的时候就是绝对路径了,就会覆盖
系统中此路径的文件)
[root@xuegod63 ~]# tar -cf grub.tar /boot/grub2/
tar: 从成员名中删除开头的“/”
[root@xuegod63 ~]# ls grub.tar
[root@xuegod63 ~]# tar xvf grub.tar #解压缩
boot/grub2/
boot/grub2/device.map
[root@xuegod63 ~]# lsboot#得到 boot目录
grub2
示例2:把两个目录或目录+文件打包成一个归档包:
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/root1024 2020-06-28 19:46 boot/grub2/grubenv###输出内容
-rw-r--r-- root/root5130 2020-06-28 19:46 boot/grub2/grub.cfg
drwxr-xr-x root/root0 2020-07-03 14:23 root/back/
-rw-r--r-- root/root2735 2020-07-03 14:23 root/back/passwd
-rw-r--r-- root/root2735 2020-06-28 19:49 etc/passwd
例 3:不解包,查看 tar 中的内容:
[root@xuegod63 ~]# tar -tvf back.tar# List all files in archive.tar verbosely.
例 4:对比加 v 的效果
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) 需要压缩的文件或目录
常用参数:
-z, --gzip以 gzip 方式压缩扩展名:tar.gz
-j :以 bz2 方式压缩的扩展名:tar.bz2
-J:以 xz 方式压缩扩展名:tar.xz
示例1:创建.tar.gz 包
[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 包
语法:#tar jcvf newfile.tar.bz2SOURCE
[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 包
[root@xuegod63 ~]#tar -Jcvf ~/etc.tar.xz /etc
[root@xuegod63 ~]#tar -Jxvf ~/etc.tar.xz#tar.xz这类包,解压缩
[root@xuegod63 ~]#tar -xvf ~/etc.tar.xz
对比三种压缩方式后压缩比例:
[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 root28M 5 月10 12:10 etc.tar
-rw-r--r-- 1 0 root8.7M 5 月10 12:14 etc.tar.bz2#常用
-rw-r--r-- 1 0 root9.8M 5 月10 12:11 etc.tar.gz#常用
-rw-r--r-- 1 0 root7.0M 5 月10 12:16 etc.tar.xz#这个压缩比例最高,压缩的时间是最长
查看源文件大小
[root@xuegod63 ~]# du -sh /etc
31M /etc
etc.tar 包为 28M ,实际几乎没怎么压缩。xz 格式化为 7.0M,传输的时候效率提高很多。
【使用tar|使用tar 命令进行文件的归档和压缩】今天就为大家分享到这,下面有惊喜哦。
文章图片
想要免费领取这本书籍加我发送信息:k8s书籍 即可免费领取此书籍。
文章图片
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小