文档章节

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

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

码上生花,ECharts 作品展示赛正式启动!>>>

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

上一篇: GitLab版本管理
下一篇: backup mysql database
xxjbs001
粉丝 55
博文 768
码字总数 218643
作品 0
浦东
QA/测试工程师
私信 提问
加载中
请先登录后再评论。
linux 压缩解压打包工具大集合

压缩、解压缩及归档工具有很多,今天小编就整理几个大家较为常用的。 compress  gzip  bzip2  xz   zip tar cpio 一、压缩、解压工具 用法 压缩 工具 压缩后 压缩包格式 解压缩 (默认...

osc_ozlday8e
2019/12/19
1
0
Linux - 常用归档、压缩命令

ncompress   compress命令是一个相当古老的 unix 档案压缩指令,压缩后的文件会加上一个 .Z 的后缀名,默认不会保留源文件。compress只能对文件进行压缩,若要压缩目录,先使用tar命令归档...

osc_r6vi2btf
2018/08/14
1
0
linux 压缩解压命令zip、gz、tar.gz、bz2、tar.bz2、.tar.xz

linux压缩格式:.gz  windows压缩格式:.zip .rar 默认情况下,windows和linux都支持zip格式,都不需要安装额外软件。 .zip格式 压缩 zip /usr/bin/zip 语法:zip [选项-r] [压缩后文件名]...

osc_35gpjl4a
2018/08/19
4
0
Linux基础:对文件打包压缩

一、须知 文件数量太多, 如果需要拷来拷去是不是很麻烦? 怎么办? 打包! 文件太大,通过网络下载、传输会不会很费时间? 怎么办? 压缩! 在Linux环境中,打包压缩文件的扩展名多是:【....

skypeGNU1
2016/02/28
0
0
小蚂蚁学习Linux(6)——压缩与解压缩命令详解

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

嗜学如命的小蚂蚁
2015/11/01
191
0

没有更多内容

加载失败,请刷新页面

加载更多

(转)Linux系统:centos7下搭建Rocketmq4.3中间件,配置监控台

原文:https://www.bbsmax.com/A/Ae5RRKe35Q/ 一、环境搭建 环境版本 centos7 jdk1.8 已搭建好 rocketmq4.3 1、下载安装包 网址 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.......

osc_3iv3c4fo
18分钟前
6
0
rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新)

rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新) 参考文章: (1)rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新) (2)https://www.cnb...

osc_e7yhr5of
20分钟前
11
0
Redis雪崩效应以及解决方案

Redis雪崩效应以及解决方案 参考文章: (1)Redis雪崩效应以及解决方案 (2)https://www.cnblogs.com/toov5/p/9895929.html 备忘一下。...

osc_6k3dbwo9
21分钟前
25
0
学习rabbitmq (二) 使用rabbitmq

以为rabbitmq会折腾很久,但没有想到就这么多点内容,主要是服务端的懒得去折腾,比如docker的转移啊,发布啊,部署啥的 今天写了一些代码,用的c#弄的,新建两个项目,一个sender,一个rec...

osc_8hhlaimy
22分钟前
11
0
指定版本拉取

https://blog.csdn.net/csdn_idiot/article/details/106188831 https://blog.csdn.net/bjrxyz/article/details/90347292 chromium(linux环境)指定版本下载和编译教程 csdn_idiot 2020-05-2......

osc_hinb5m98
24分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部