最近老遇到上传大文件的问题,而网络不稳定导致多次失败,查找资料觉得下次很实用。

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查询。

linux 打包大文件,tar打包处理大文件的解压缩方法相关推荐

  1. php 执行文件tar打包,利用tar for windows对大量文件进行快速打包

    近期将某些网站换服务器,由于网站数量巨大,加上附件和静态页,文件数量异常多,考虑先打包然后直接传过去. 起初尝试用winrar打包,但是发现即使选择"仅储存"速度仍然慢到无法接受, ...

  2. Linux下面解压.tar.gz和.gz文件解压的方式

    两种解压方式 1.tar.gz的  使用焦油命令进行解压 tar -zxvf java.tar.gz解压到指定的文件夹tar -zxvf java.tar.gz -C /usr/java 分别是四个参 ...

  3. linux tar 打包gzip,tar linux 打包 压缩 gzip 命令说明

    参数: -c  :建立一个压缩档案的参数指令(create 的意思): -x  :解开一个压缩档案的参数指令! -t  :查看 tarfile 里面的档案! 特别注意,在参数的下达中, c/x/t 仅 ...

  4. linux打包解压工具,打包压缩、解压缩工具详解

    本文旨在学习打包,压缩,解压缩.学习使用tar.gzip/gunzip/zcat.bzip2/bunzip2/bzcat.xz/unxz/xzcat.zip/unzip.cpio等命令的使用. 前言: ...

  5. linux命令:find、打包解包、vi编辑器、用户权限

    搜索命令 1.find 搜索 1.1 目标 通过find命令 在特定目录下(包含它的后代目录) 搜索 符合条件的文件 1.2 实现 : 在指定目录中 根据名称 搜索 命令格式 序号 命令格式 作用 0 ...

  6. linux中 tar .gz bz2 xz 文件怎么用 解压

    tar.gz/xz/bz2 怎么解压 tar 用法:tar最初是用来在磁带机上打包,现在tar可以打包任何文件,将多个文件和目录打包成一个文件,同时还支持 xz/bzip2/gzip 压缩,单独 ta ...

  7. 6.5 zip压缩工具;6.6 tar打包;6.7 打包并压缩

    6.5 zip压缩工具 yum安装zip压缩工具: [root@hao-01 ~]# yum install -y zip 1. zip压缩文件:zip 压缩文件名 原文件 [root@hao-01 ...

  8. Linux常见文件后缀以及重要的文件夹

    1. Linux文件后缀 在Linux系统中,文件类型不是通过后缀来区别的,所以有无后缀并不重要,但是为了方便对文件进行区别,通常加上后缀,现在列举Linux中常见的后缀. .a (archive): ...

  9. linux命令(五)--打/解包、压缩/解压缩、安装软件

    文章目录 1.打包/解包 2.压缩/解压缩 3.软件安装 1.打包/解包 tar是linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件 ta ...

  10. linux tar打包大文件并分割传输另一台linux服务器

    场景 将linux服务器A中的数据文件迁移到linux服务器B,当文件很大的之后,压缩直接传输会出现传输很久,且中间一段暂停,又得重新上传.这时候需要可以将压缩的文件的分割传输然后解压合并. linu ...

最新文章

  1. Mybatis使用时因jdbcType类型大小写书写不规范导致的异常
  2. 搭建Qt 5.3.1 for Windows Phone 8开发环境
  3. 如何在单台计算机上配置 Windows XP SP2 网络保护技术
  4. 遭遇棘手 交接_Librosa的城市声音分类-棘手的交叉验证
  5. asp.net core 5.0的一些模块
  6. 口琴膜片什么作用_思域发动机舱里的这个东西是什么东东,它究竟有什么作用呢?...
  7. gbrl参数_grbl-0.9运行参数配置说明
  8. 天猫京东618下单金额近万亿;苹果或选择印度组装新款iPhone SE;Adobe将于12月31日终止支持Flash| 极客头条...
  9. ​苹果WWDC20确定6月22日线上举办;任天堂遭史上最大规模黑客攻击 ;Inkscape 1.0 发布 | 极客头条...
  10. 【原创】Proton在Android上的编译
  11. python爬虫之百度贴吧
  12. SAP License:第三只眼看财务-留存收益与职业道德
  13. html随机背景颜色,javascript实现随机生成DIV背景色
  14. H3CNE 综合实验,全网最全教程
  15. 为树莓派添加一个强实时性前端[原创cnblogs.com/helesheng]
  16. C++初学必练基础题【第三期】
  17. 《可穿戴创意设计:技术与时尚的融合》一一3.4 服装中的电子装置
  18. B - 最少硬币问题
  19. A16z:为什么 NFT 创作者要选择 cc0?
  20. 分享几个实用的chatgpt网址

热门文章

  1. 秦时明月2服务器端代码修改,《秦时明月2》为什么修改不了?
  2. 全国计算机一级word题库,2016全国计算机一级《MS Office》选择题题库
  3. 微信小程序云开发表单使用 name的形式提交后如何清空输入内容
  4. Anaconda下载速度慢,用清华镜像
  5. 机器学习发展历史回顾
  6. 计算机控制实验比例环节,自动控制原理实验一典型环节的电路模拟与软件仿真...
  7. c语言做线性代数第六版答案,编程与线性代数
  8. 【在线分享】考研数学思维导图+高数思维导图+汤家凤重点笔记+武忠祥重点笔记以及高数Xmind思维导图
  9. 2022-2028全球与中国真空探针台市场现状及未来发展趋势
  10. SwitchHost使用