在Linux下使用 tar 命令来将文件打包并压缩是很通常的用法了。

可是Linux的文件系统对文件大小有限制,也就是说一个文件最大不能超过2G,如果压缩包的的内容很大,最后 的结果就会超过2G,又或者压缩包希望通过光盘来进行备份,而每张光盘的容量只有700M,那么该如何存储呢?

解决办法: 
将最后的压 缩包按照指定大小进行分割,需要用到split命令。

举例说明: 
要将目录logs打包压缩并分割成多个1M的文件,命令:

tar czf - logs/ |split -b 1m - logs.tar.gz

完成后会产生下列文件:

logs.tar.gz.aa, logs.tar.gz.ab, logs.tar.gz.ac

解压时只要执行命令:

cat logs.tar.gz.a* | tar xz

再举例: 
要将文件test.pdf分包压缩成500 bytes的文件:

tar czf - test.pdf | split -b  - test.tar.gz

最后要提醒但是那两个”-“不要漏了,那是tar的ouput和split的input的参数。

这里对命令做一些讲解。 
压缩和分割命令行中红色部分的为命令对应的I/O文件名参数,其中-表示标准输入或输出。那么结合上面的例子,tar命令表示的意思就是将logs目录压缩,生成的结果直接输送到标准输出上;而split命令表示从标准输入获得文件内容进行分割,结果文件前缀为logs.tar.gz.。二者再通过管道将各自的标准输入输出对接起来。

这里再解释一下split命令的参数含义: 
-b SIZE 指定每个文件的大小,其单位可以为b(512字节)、k(1K)、m(1M) 
-d 使用数字而不是字母作为后缀名 
-a X 指定后缀名的长度,默认为2位

命令可以变化为:

tar czf - logs/ |split -b 1m -d -a - logs.tar.gz

tar分层压缩的更多相关文章

  1. linux tar命令 压缩、打包、解压 详解

    linux tar命令 压缩.打包.解压 详解 1.常用压缩命令 tar –czvf 压缩后的文件.tar.gz 要压缩的文件 2.常用解压命令 tar –xzvf 解压后的文件.tar.gz [要解 ...

  2. linux中tar及压缩解压命令用法

    把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

  3. ZIP、tar.gz压缩时排除指定目录

    1.ZIP 压缩时排除一个文件夹下所有内容zip -r sss.zip sss/ -x "sss/222/*" 压缩时排除指定多个文件夹下所有内容zip -r sss.zip ss ...

  4. tar命令-压缩,解压缩文件

    tar: -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 上面五个参数是独立的,压缩解压都要用到其中一个,可以和下面的命令连用但只能用其 ...

  5. tar打包压缩命令

    1. tar命令 用法: tar [选项...] [FILE]... GNU ‘tar’将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 示例 tar -cf archiv ...

  6. shell 命令 tar -zxvf 解压 tar -zcvf 压缩

    tar -zxvf 解压 tar -zcvf 压缩

  7. Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?

    打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5 ...

  8. 菜鸟学Linux命令:tar命令 压缩与解压缩

    tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件. tar最初被用来在磁带上创建档案,现在,用户可以 ...

  9. linux tar 打包 压缩 解压

    dir:  tong 打包/压缩:tar zvf tong.rar tong        tar -czf tong.tar.gz tong 解压缩:tar xvf tong.rar 查看压缩包里的 ...

随机推荐

  1. 移动端html页面优化

    对于访问量大的网站来说,前端的优化是必须的,即使是优化1KB的大小对其影响也很大,下面来看看来自ISUX的米随随讲讲移动手机平台的HTML5前端优化,或许对你有帮助和启发. 概述 1. PC优化手段在 ...

  2. C memset

    //#include "stdafx.h" #include <iostream> #include <memory.h> using namespace ...

  3. vscode调试C/C++时支持查看定义查看引用

    貌似老版支持现在不支持了,需要自己加第三方工具,方法如下: 确保你安装了c/c++,此文写作时版本为0.20.1 从GTAGS官网下载Win32程序,解压,将其放在合适的位置,并把其目录下/bin文件 ...

  4. 基本数据类型、包装类、String之间的转换

    package 包装类; /** *8种基本数据类型对应一个类,此类即为包装类 * 基本数据类型.包装类.String之间的转换 * 1.基本数据类型转成包装类(装箱): * ->通过构造器 : ...

  5. 【2013Esri全球用户大会精彩案例】GIS for Philadelphia’s Finest --费城警用GIS

     行业领域:警务   拥有6000多警员和侦探的费城警察局,历时三年,搭建了费城警用GIS,目前可以对每天发生的事进行汇总(如图1),并可动态的进行热点分析(如图2).区域指挥官可方便的查看警员的活动 ...

  6. spyder 安装

    https://www.cnblogs.com/pcat/p/5398997.html

  7. eclipse-在编译项目时js特别慢的问题

    eclipse在编译项目时,当项目中导入了很多第三方js库时,eclipse在验证js时会消耗大量的时间,而我们却完全不用考虑那些js是否有错误 步骤: 去除eclipse的JS验证: 1.将wind ...

  8. Gson解析第三方提供Json数据(天气预报,新闻等)

    之前都是自己写后台,自己的server提供数据给client. 近期在看第三方的数据接口,訪问其它站点提供的信息.比方.我们可能自己收集的数据相当有限.可是网上提供了非常多关于天气预报.新闻.星座运势 ...

  9. ArrayList vs LinkedList 空间占用

    空间占用上,ArrayList完胜 看下两者的内存占用图   这三个图,横轴是list长度,纵轴是内存占用值.两条蓝线是LinkedList,两条红线是ArrayList,可以看到,LinkedLis ...

  10. Javascript 原生Cookie使用用法

    var oCookie = { setCookie: function (name, value, expireDays, path, domain) { var expireDays = expir ...