[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. **选择...
如果需要压缩多个文件,可以使用`DirectoryInfo`类遍历指定目录下的所有文件,然后对每个文件执行上述压缩步骤。同时,可以将压缩后的文件合并到一个单一的压缩文件中,例如通过创建一个内存流(`MemoryStream`)...
- 分片策略:可以按照数据量、时间范围、用户ID或其他逻辑分片,确保每个文件的大小适中,方便管理和操作。 2. **Excel文件的使用限制**: - Excel有内置的数据限制,例如早期版本的最大行数为65536行,而较新...
node.js 将多个js文件压缩到一个文件 安装 node.js、java环境 1、org 原始文件 2、out 输出文件目录 使用方法 1、将原始js 复制到org目录 2、编辑nodescript.js文件,按顺序配置需要压缩的文件列表 var ...
总的来说,调用WinRAR加密压缩多个文件涉及的知识点包括:文件压缩、WinRAR软件的使用、加密技术(AES-256)、WinRAR命令行用法、WinRAR API的编程接口应用,以及多文件处理策略。通过掌握这些知识,我们可以高效地...
java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。
很简单的代码,很轻松的实现将多个文件压缩成一个包
java实现多个文件压缩
压缩多个文件及文件夹,利用文件流进行压缩,此帮助类是用C#编写的。
它不仅能够处理单个大文件,还能一次性处理多个文件,这对于管理大型项目或者有多个依赖库的应用来说尤其方便。压缩过程不仅可以减少网络传输的数据量,还可以通过合并多个脚本文件减少HTTP请求次数,进一步提升加载...
### Java 实现多个文件压缩成 RAR 压缩包 #### 背景与目的 在日常工作中,经常会遇到需要将多个文件压缩为一个压缩包的情况,以便于存储、传输或备份。Java 作为一种广泛使用的编程语言,在处理文件操作方面提供了...
"多个文件进行压缩生成压缩包"这一操作涉及到的主要是数据压缩技术和文件打包技术。接下来,我们将深入探讨这个主题。 首先,让我们了解什么是压缩。数据压缩是将大文件通过特定算法转化为较小体积的过程,这样做的...
使用ImageSharp库可以灵活地对图片进行有损或无损压缩,而ZipArchive类则允许我们将多个文件打包成ZIP格式,并支持各种自定义设置。通过掌握这些技术,开发者可以有效地管理和处理大量数字资源。
标题中的“教你将多个文件压缩成单个exe文件”指的是使用特定工具,如WinRAR,将一系列相关的文件打包成一个可执行(exe)文件的过程。这通常是为了方便分发、存储或简化用户安装和使用的体验。这样的方法尤其适用于...
综上所述,实现“java将数据导入多个excel并压缩”的功能需要对Java的文件操作、Excel处理、文件压缩以及Web开发有深入的理解。通过Apache POI库处理Excel,结合Java内置的压缩API,我们可以创建一个高效且可扩展的...
可以传入多个url地址,压缩成zip包下载,有更好的想法可以申请互动
Java调用Zip类批量压缩多个文件,此前有一个是压缩单个文件,也可参考,相关代码中可找到此源码。 public class ZipDemo extends JFrame{ JFileChooser fileChooser; //文件选择器 JList fileList; //待...
3. **tar**:tar最初用于Unix系统,它并不直接进行压缩,而是将多个文件和目录打包成一个单一的归档文件,便于备份和传输。tar文件可以与其他压缩工具(如gzip或bzip2)结合使用,形成如.tar.gz或.tar.bz2的压缩格式...
当所有分片都上传完毕后,按照分片的顺序读取并合并到一个文件中。 接着,我们需要处理视频的压缩。这通常借助于FFmpeg,一个强大的多媒体处理工具。在Java中,我们可以使用Java的Runtime类或者第三方库(如Xuggler...
本教程将深入探讨如何使用C#实现文件和文件夹的压缩与解压缩功能,包括单个文件、多个文件以及整个文件夹的操作。我们将利用ICSharpCode.SharpZipLib库,这是一个开源的.NET库,为C#提供了强大的文件压缩和解压缩...