• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用tar-命令进行文件的归档和压缩

linux 搞代码 4年前 (2022-03-03) 21次浏览 已收录 0个评论
文章目录[隐藏]

归档和压缩文件

归档和压缩文件的益处:节约硬盘的资源 ,放慢文件传输速率
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书籍 即可收费支付此书籍。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用tar-命令进行文件的归档和压缩

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址