Ubuntu系统教你创建分卷的压缩文件

打个比方,你需要压缩aaa这个文件,每个分卷100m,就输入

tar -cjv aaa | split -b 100m

会生成100m的几个文件,名为xaa,xab,xac……
解包就用

cat x* > bbb

这个bbb可以是你指定的任意文件名,然后

tar -xvf bbb

就可以啦

顺便告诉大家一个小技巧,符号“|”,就是shift+“\”

下面的方法大家也可以试试

(如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能)

将大文件或目录打包、压缩并分割成制定大小的文件,这在将">数据备份到容量有限的移动储存设备时是必须的,在Linux下可以通过组合使用 tar,bzip2(或者gzip),split命令来实现。

假设要将下面这个文件压缩并分割成多个1.4M的文件

-r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm
可以用下面的命令:

tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.

完成后会生产下面的文件:

-rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac
-rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad

还原文件用下面的命令:

cat a.chm.tar.bz2.a* | tar -jx

为了让广大菜鸟了解上面的命令,现解释如下:

压 缩命令"tar -jcf -" 中的 “-jcf" 参数是创建(c)文件(f)并调用bzip2进行压缩(j),跟在f后面的" -"是将所创建的文件输出到标准输出上,在这里就是通过"|"管道输出给 split 命令进行文件分割;分割命令"split -b 1400k - a.chm.tar.bz2." 中的 "-b 1400k" 是用来设置每个文件大小的,除了"k",还可以用"m"来作为单位,接着的" - "就是将"tar"命令通过管道传入的数据作为需要分割的数据来源,后面跟着的" a.chm.tar.bz2."就是文件名了。

这两个命令如果独立使用,可以将参数中独立的" - "换为具体的文件名,这样"tar"命令就可以将文件打包压缩成指定的文件,而"split"命令就可以分割指定的文件。

在"tar"命令中,大家也可以用"z"代替"j"参,这样tar就会调用gzip进行压缩,而不是bzip2,当然,如果你用了"z"参数,记得将输出的文件名中的"bz2"改为"gz",这样在解压的时候就可以分辨出需要用那个参数进行解压。

用split命令生产的文件序列除了字母还可以使用" -d "参数指定为数字的形式,同时还可以通过" -a x"来设定序列的长度(默认值是2),例如命令:

split -b 1400k -d -a 1 - a.chm.tar.bz2.

就可以产生如下命名规则的文件:

-rw-r--r-- 1 root root 1.4M 2004-08-28 01:01 a.chm.tar.bz2.0
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.1
-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.2
-rw-r--r-- 1 root root 220K 2004-08-28 01:02 a.chm.tar.bz2.3

如果大家想更全面地了解这些命令,可以通过 "man 命令" 来查阅他们的手册。

使用RAR分割 压缩文件:

rar a -v 1024k xxxx.rar xxxx.file

使用7z分割 压缩文件:

sudo apt-get install p7zip-full
7z a 22222.mp3.7z 22222.mp3 -v1024k

还原

7z x 22222.mp3.7z.001

时间: 2024-11-02 23:36:51

Ubuntu系统教你创建分卷的压缩文件的相关文章

快压如何创建固实压缩文件?

  在传统的压缩文件中,固实压缩不仅能够提供文件的压缩比,而且在对于文件夹压缩时,显得尤为的重要,而近期一些使用快压的用户想要使用固实压缩,而又不知道如何操作,故此小编这里为大家带来了详细的操作方法,需要的用户赶快学习下吧!   固实压缩是什么? 固实压缩是一种特殊压缩方式存储的压缩文件,它把压缩文件中的全部文件都当成一个连续数据流来看待.固实压缩文件支持RAR和7z格式的压缩文件,ZIP压缩文件永远是非固实的.可由用户决定选择固实或非固实的压缩方式. 创建固实压缩的方法 1.右键点击需要压缩的

快压创建固实压缩文件方法

  1.右键点击需要压缩的文件或文件夹,在弹出菜单中选择"创建压缩文件-" 2.弹出"一键压缩"对话框之后,选择"切换到经典模式" 3.在弹出"压缩文件名和参数"对话框,勾选"创建固实压缩文件"就ok了

WinRAR如何分卷压缩文件

  WinRAR分卷压缩文件方法. 首先,选择你要分卷压缩的文件,点鼠标右键选"添加到压缩文件". 接着,在左下角的压缩方式中选择"最好",如下图,然后,在左下角的压缩分卷大小里选择压缩的分卷大小,或者自己设定您要的单个分卷文件大小,填写大小要带上单位,一般使用"kb".最后,点确定,开始压缩! 说明:如果要压缩的文件拥有大量小文件,选中右边的"创建固实压缩文件",效果会更加好,会把所有的小文件当成一个整体文件来对待,有效节省

怎么用c#写一个解压指定目录下所有的压缩文件,并且把压缩文件里面的内容放进指定文件夹呢?

问题描述 怎么用c#写一个解压指定目录下所有的压缩文件,并且把压缩文件里面的内容放进指定文件夹呢? 怎么用c#写一个解压指定目录下所有的压缩文件,并且把压缩文件里面的内容放进指定文件夹呢? 解决方案 http://www.cnblogs.com/zfanlong1314/p/4202695.html 解决方案二: csharp文件操作类 遍历 递归 着重这三点 解决方案三: 放进文件夹就是先创建一个和压缩文件同名的目录,然后作为解压目录. 解决方案四: 这个问题,可以分成几部分:1 遍历指定目录

java文件操作zip压缩文件读取写操作

本文章讲了三个实例是利用java对zip 压缩文件的读写操作,实例如下. 创建一个zip压缩文件 import java.io.fileinputstream; import java.io.fileoutputstream; import java.util.zip.zipentry; import java.util.zip.zipoutputstream; public class main {   public static void main(string[] args) throws

快压小技巧 让你轻松创建“分卷压缩”

当我们在论坛上传附件时,通常会对文件大小有限制,如果不进行分卷压缩的话,就无法上传文件;QQ文件传输,文件大于2GB的话,也需要分卷压缩后才能进行传输. 快压小技巧 让你轻松创建"分卷压缩" 今天我们就用快压进行"分卷压缩"! 分卷压缩:它将一个大文件压缩成多个相同大小的包(卷).通常把分卷压缩文件保存到数个磁盘或可移动磁盘时使用. 右键点击需要压缩的文件或文件夹,在菜单中选择"创建压缩文件". 图1:创建压缩文件 在"压缩文件名和参数

Ubuntu系统中如何创建或解压rar文件?

RAR文件的扩展名是.rar,MIME类型是application/x-rar-compressed. 同样是无损数据压缩,RAR文件通常比ZIP文件压缩比要高,但是压缩速度较慢.因为RAR文件头也要占据一定空间,在数据压缩余地不大时,压缩过的文件可能比原文件要大.RAR的一个主要优点是可以把文件压缩目标分割到多个文件,并且很容易从这样的分割的压缩文件解压出源文件. 另外,RAR也支持紧缩格式,把所有文件压缩到同一个数据区以加大压缩比,代价是解压一个单独的文件时必须解压其前面的所有文件.新的RA

怎样在ubuntu环境下用c++写一个cpp文件,创建Mydisk.img文件并写入一个大数组?

问题描述 怎样在ubuntu环境下用c++写一个cpp文件,创建Mydisk.img文件并写入一个大数组? 要用到入口函数吗?需要包含什么头文件?这是用来做虚拟磁盘的,之后还有划分各种区以及把另一个文件存进去取出来的步骤--应该是需要文件句柄?这个怎么取得? 非常感谢! 解决方案 不知道你要做什么.如果你完全用C++自己创建所谓的磁盘镜像,起码你要这两部分,一个是你的img本身的文件格式是什么,一个是你的磁盘的文件系统是什么. 这些不是写几行代码能做到的. 解决方案二: Ubuntu创建一个指定

php简单创建zip压缩文件的方法_php技巧

本文实例讲述了php简单创建zip压缩文件的方法.分享给大家供大家参考,具体如下: /* creates a compressed zip file */ function create_zip($files = array(),$destination = '',$overwrite = false) { //if the zip file already exists and overwrite is false, return false if(file_exists($destinati