文档章节

Linux Tar Split压缩解压缩分片压缩解压缩

xxjbs001
 xxjbs001
发布于 2015/04/25 17:34
字数 949
阅读 93
收藏 0

tar cjf /home/DATA/ai-new/packets/ | split -b 1000m - tt.tar.bz2
cat tt.tar.bz2.a* > tt.tar.bz2

tar czf xx.tar.gz /home/dd
tar xvf xx.tar.gz /home/dd


通过使用-C指定解压目录

tar -zxvf eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz -C /usr


tar是文件打包工具,split是文件分割工具,在邮件中发送附件的时候,可能因为附件大小限制,需要压缩并分割,分几封邮件发送。如果需要备份很多资料的时候,打包后的单个文件可能超出文件系统支持的单个文件大小限制的时候,也需要分割成适合大小的文件包。刚好今天又要备份skype文件夹,所以就用这个实例来说明一下tar和split这两个指令,如何压缩、分割,再通过cat合并分割的文件解压还原,以及在管道”|”配合下的打包分割文件过程。

例如:我的.skype文件已经有35M之多了,现在需要压缩备份起来,直接用tar打包:

tar压缩文件:
[marco.chan@linuxhobby backup]$ ls
skype_backup
[marco.chan@linuxhobby backup]$ tar -czvp -f skype_backup.tar.gz skype_backup
中间的打包压缩输出过程省略…
skype_backup/marco.chan.skype/chat512.dbb
skype_backup/marco.chan.skype/user4096.dbb
skype_backup/marco.chan.skype/chatmsg256.dbb
skype_backup/shared.xml
skype_backup/shared.lck
[marco.chan@linuxhobby backup]$ ls
skype_backup.tar.gz skype_backup

因为用了“-v”参数,所以中间会输出打包压缩的文件信息。
-c (create)当然是建立一个打包文件。
-z (gzip)调用gzip进行压缩,建议后缀名为*.tar.gz;也可以用-j(bzip2),建议后缀名为*.tar.bz2。
-p (preserve-permissions)小写的p,保持原先的文件属性,也就是rwx属性。
-f (file)输出的目标文件“skype_backup.tar.gz” 将要被处理的源文件“skype_backup”,可以将-f连写,但是为了容易记忆和区分,所以这里分开写了。

打包后的skype_backup.tar.gz还有15M大小,但是我的邮件附件就支持6M大小,所以还得分割。

splite分割文件
[marco.chan@linuxhobby backup]$ split -b 4000k skype_backup.tar.gz skype_backup_20090626.tar.gz. –verbose
creating file `skype_backup_20090626.tar.gz.aa’
creating file `skype_backup_20090626.tar.gz.ab’
creating file `skype_backup_20090626.tar.gz.ac’
creating file `skype_backup_20090626.tar.gz.ad’
[marco.chan@linuxhobby backup]$ ls
skype_backup skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.aa skype_backup_20090626.tar.gz.ad
skype_backup_20090626.tar_20090626.gz.ab skype_backup.tar.gz

-b 指定分割大小,例如k,m等单位。
–verbose 输出分割文件信息,可选。
skype_backup.tar.gz 被分割的文件。
skype_backup_20090626.tar.gz. 分割后的文件名(注意gz后面的”.”),如果不指定的话,默认是xaa,xab,xac。

现在通过tar,split,已经将skype_backup目录文件打包、分割为每个最大为4M大小的压缩包了。
以上是分步执行,如果用管道”|”,将tar,split写成一个执行语句:

使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ tar -czvp -f – skype_backup |split -b 4000k – skype_backup_20090626.tar.gz. –verbose
[marco.chan@linuxhobby backup]$ ls
skype_backup
skype_backup_20090626.tar.gz.aa
skype_backup_20090626.tar.gz.ab
skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.ad

注意一下指令中的两个“-”,如果分开执行,就不用”-”。为什么有这个”-”?

man tar
-f, –file [HOSTNAME:]F
Use archive file or device F (default “-”, meaning stdin/stdout). Note that “/dev/stdout” is not equivalent to “-”.Using “/dev/stdout” explicitly can lead to corrupted archive, especially when coupled with “-v”.

如何解压分割文件
把文件分割了几个包,当然也要能合并解压了,合并文件当然用cat了,cat不仅仅是用来处理合并文本文件的,也可以用来合并压缩文件。

cat合并分割的文件:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* >skype_backup_cat.tar.gz

将之前分割的压缩包合并成skype_backup_cat.tar.gz,然后可以通过tar -zxvf来解压skype_backup_cat.tar.gz,通过管道”|”可写成:

使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* |tar -zxv

关于更多的tar、split、cat指令应用,建议通过man查询。

订阅博客地址: http://www.uncle.ws/subscribe/

本文转载自:http://blog.csdn.net/jiayanhui2877/article/details/14222701

共有 人打赏支持
xxjbs001
粉丝 55
博文 749
码字总数 215621
作品 0
浦东
QA/测试工程师
Linux压缩好帮手bzip2

导读 对文件进行压缩,可以通过使用较少的字节对文件中的数据进行编码来显著地减小文件的大小,并且在跨网络的文件的备份和传送时很有用。 另一方面,解压文件意味着将文件中的数据恢复到初始...

问题终结者
05/12
0
0
小蚂蚁学习Linux(6)——压缩与解压缩命令详解

在Linux中常用的压缩格式有以下几个:.zip .gz .bz2 .tar.gz tar.bz2。首先先解释前三个。 .zip格式的压缩: zip 压缩文件名 原文件名 如:zip abc.zip abc 后缀名是一定要写的,虽然Linux不...

嗜学如命的小蚂蚁
2015/11/01
0
0
对Linux上的各类型压缩格式的一个总结

我使用的环境是64位的 Red Hat Enterprise Linux Server release 6.4 (Santiago) 1.compress与*.Z文件 compress程序的作用是:Compress reduces the size of the named files using adaptive......

北风其凉
2014/11/25
0
0
Linux之rar文件解压之路

导读 相信大家在使用Linux系统时有时候会碰到有关于rar文件的解压缩。网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩。...

问题终结者
07/04
0
0
6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具

6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 6.1 压缩打包介绍 文件压缩的理由: 节省空间 方便传输 节省带宽资源 常见的压缩文件的后缀名: Windows : .rar、.zip、...

JasonYan86
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg学习记录

我开始熟练使用windbg是从帮助手册开始的,也就是.hh命令。 就像学习windows开发从msdn开始一样,微软的产品虽然不开源,但是文档做的是相当的好。然而那些开源的东西呢?开源的竞争力其实就...

simpower
6分钟前
0
0
学习scala的网站汇总

https://www.codacy.com/blog/how-to-learn-scala/

Littlebox
8分钟前
0
0
配置本地的cloud9开发环境

前言 说到(前端)在线IDE开发环境,cloud9是不能绕过的,cloud9支持很多语言,默认支持的就有Node.js,Python,Ruby,PHP,Go,更逆天的是,他还支持数据库,包括MySQL,MongoDB,Redis,S...

Kefy
12分钟前
0
0
springcloud应用程序上下文层次结构

如果您从SpringApplication或SpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级。这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因...

itcloud
17分钟前
0
0
新程序员最爱的免费资源

简评:国外美女程序员推荐了她自己用过的一些免费资源,对新手比较友好的那种。 原作者 Ali Spittel,是个美女程序员,以下这些资源都是她自己试过的。以下「我」代表 Ali Spittel。 学 HTML...

极光推送
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部