`
houkai2009
  • 浏览: 229033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • 浪迹随风: 文章是挺好的,不过太杂了。。。信息量也很大。。。很难消化。。。 ...
    EJB 介绍
  • javaersu: yds3300376yd 写道学习了,只是楼主写的有点杂,现在 ...
    EJB 介绍
  • yds3300376yd: 学习了,只是楼主写的有点杂,现在还看不太懂,刚学习EJB,我觉 ...
    EJB 介绍
  • javaersu: 不错,这里也有一篇类似的EJB文章教程http://www.y ...
    EJB 介绍
  • dingding5060: brother , 你贴代码想说明什么???
    enum

分多个文件压缩

    博客分类:
  • unix
阅读更多
[ZZ] LINUX 打包多个文件 和 打包成多个文件2010-08-08 22:08我的实例(注意更改文件权限,有待进一步验证):
ls

./a1.tar a2.tar a3.tar

cat a*.tar | tar xv

ls

./a a1.tar a2.tar a3.tar

a 为解压后保存了a1,a2,a3的内容

linux 下用 tar 进行分卷打包
在Linux下使用 tar 命令来将文件打包并压缩是很通常的用法了。
可是Linux的文件系统对文件大小有限制,也就是说一个文件最大
不能超过2G,如果压缩包的的内容很大,最后的结果就会超过2G,
那么该怎么办呢?又或者压缩包希望通过光盘来进行备份,而每
张光盘的容量只有700M,那么该如何存储呢?解决的办法就是将最
后的压缩包按照指定大小进行分割,这就需要用到split命令了。

举例说明:
要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.aa
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.ab
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.ac
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:38 logs.tar.bz2.ad
-rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:38 logs.tar.bz2.ae
-rw-r--r-- 1 httpd nobody 829440 Oct 5 15:39 logs.tar.bz2.af

这样存储压缩包的目的就达到了,可是当要解压的时候要怎么做呢?
只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj


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

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

这样上面的命令就可以变化为:
tar cjf - logs/ |split -b 1m -d -a 1- logs.tar.bz2.

如果需要了解更多关于命令的信息,那就要查看man手册了


对单个文件:
tar cjf - UML和模式应用.pdf |split -b 1m - ok.zip
生成ok.zipaa, ok.zipab, ok.zipac...

解压的时候, 用
cat ok.zipa* | tar xj
其中xj是参数, 不是指定文件夹


tar 多个文件的操作


-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思


压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux



解压
tar –xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar –xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip


总结
1、*.tar 用 tar –xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar –xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar –xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar –xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压
分享到:
评论

相关推荐

    将一个文件压缩成多个压缩文件

    这些格式允许我们将多个文件打包在一起,同时还能进行压缩,以节省磁盘空间。 对于将大文件分割成多个压缩文件,我们通常需要借助专门的压缩软件,如WinRAR、7-Zip或WinZip。以下是一个简单的步骤概述: 1. **选择...

    如何压缩多个文件\文件夹(GZipStream and C#)

    如果需要压缩多个文件,可以使用`DirectoryInfo`类遍历指定目录下的所有文件,然后对每个文件执行上述压缩步骤。同时,可以将压缩后的文件合并到一个单一的压缩文件中,例如通过创建一个内存流(`MemoryStream`)...

    多个excel导出压缩成zip 文件 数据量大导出

    - 分片策略:可以按照数据量、时间范围、用户ID或其他逻辑分片,确保每个文件的大小适中,方便管理和操作。 2. **Excel文件的使用限制**: - Excel有内置的数据限制,例如早期版本的最大行数为65536行,而较新...

    node.js 将多个js文件压缩到一个文件

    node.js 将多个js文件压缩到一个文件 安装 node.js、java环境 1、org 原始文件 2、out 输出文件目录 使用方法 1、将原始js 复制到org目录 2、编辑nodescript.js文件,按顺序配置需要压缩的文件列表 var ...

    调用WinRAR加密压缩多个文件

    总的来说,调用WinRAR加密压缩多个文件涉及的知识点包括:文件压缩、WinRAR软件的使用、加密技术(AES-256)、WinRAR命令行用法、WinRAR API的编程接口应用,以及多文件处理策略。通过掌握这些知识,我们可以高效地...

    java代码实现单个或多个文件压缩成rar包

    java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。

    JAVA实现多个文件压缩为一个zip文件

    很简单的代码,很轻松的实现将多个文件压缩成一个包

    java实现多个文件压缩

    java实现多个文件压缩

    压缩多个文件

    压缩多个文件及文件夹,利用文件流进行压缩,此帮助类是用C#编写的。

    js压缩工具,单个文件和多个文件同时都可以导入

    它不仅能够处理单个大文件,还能一次性处理多个文件,这对于管理大型项目或者有多个依赖库的应用来说尤其方便。压缩过程不仅可以减少网络传输的数据量,还可以通过合并多个脚本文件减少HTTP请求次数,进一步提升加载...

    java实现多个文件压缩成rar压缩包

    ### Java 实现多个文件压缩成 RAR 压缩包 #### 背景与目的 在日常工作中,经常会遇到需要将多个文件压缩为一个压缩包的情况,以便于存储、传输或备份。Java 作为一种广泛使用的编程语言,在处理文件操作方面提供了...

    多个文件进行压缩生成压缩包

    "多个文件进行压缩生成压缩包"这一操作涉及到的主要是数据压缩技术和文件打包技术。接下来,我们将深入探讨这个主题。 首先,让我们了解什么是压缩。数据压缩是将大文件通过特定算法转化为较小体积的过程,这样做的...

    C# 图片压缩 多文件压缩

    使用ImageSharp库可以灵活地对图片进行有损或无损压缩,而ZipArchive类则允许我们将多个文件打包成ZIP格式,并支持各种自定义设置。通过掌握这些技术,开发者可以有效地管理和处理大量数字资源。

    教你将多个文件压缩成单个exe文件

    标题中的“教你将多个文件压缩成单个exe文件”指的是使用特定工具,如WinRAR,将一系列相关的文件打包成一个可执行(exe)文件的过程。这通常是为了方便分发、存储或简化用户安装和使用的体验。这样的方法尤其适用于...

    java将数据导入多个excel并压缩,亲测可用

    综上所述,实现“java将数据导入多个excel并压缩”的功能需要对Java的文件操作、Excel处理、文件压缩以及Web开发有深入的理解。通过Apache POI库处理Excel,结合Java内置的压缩API,我们可以创建一个高效且可扩展的...

    多个文件打包压缩下载

    可以传入多个url地址,压缩成zip包下载,有更好的想法可以申请互动

    Java调用Zip类批量压缩多个文件.rar

    Java调用Zip类批量压缩多个文件,此前有一个是压缩单个文件,也可参考,相关代码中可找到此源码。  public class ZipDemo extends JFrame{  JFileChooser fileChooser; //文件选择器  JList fileList; //待...

    文件压缩解压缩

    3. **tar**:tar最初用于Unix系统,它并不直接进行压缩,而是将多个文件和目录打包成一个单一的归档文件,便于备份和传输。tar文件可以与其他压缩工具(如gzip或bzip2)结合使用,形成如.tar.gz或.tar.bz2的压缩格式...

    java 大文件(视频)分片上传+压缩

    当所有分片都上传完毕后,按照分片的顺序读取并合并到一个文件中。 接着,我们需要处理视频的压缩。这通常借助于FFmpeg,一个强大的多媒体处理工具。在Java中,我们可以使用Java的Runtime类或者第三方库(如Xuggler...

    c# 文件压缩

    本教程将深入探讨如何使用C#实现文件和文件夹的压缩与解压缩功能,包括单个文件、多个文件以及整个文件夹的操作。我们将利用ICSharpCode.SharpZipLib库,这是一个开源的.NET库,为C#提供了强大的文件压缩和解压缩...

Global site tag (gtag.js) - Google Analytics