`
famoushz
  • 浏览: 2952083 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux下如何将文件打包、压缩并分割成制定大小?

阅读更多

将大文件或目录打包、压缩 分割 成制定大小的文件,这在将数据备份 到容量有限的移动储存设备时是必须的,在 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 命令 " 来查阅他们的手册。

分享到:
评论

相关推荐

    linux分卷压缩与解压缩.docx

    例如,要将 logs 目录打包压缩并分割成多个 1M 的文件,可以使用以下命令: tar cjf - logs/ |split -b 1m - logs.tar.bz2 完成后,会产生下列文件: logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac 要解...

    2012最好文件打包工具

    4. **分卷压缩**:对于特别大的文件,打包工具还提供了分卷压缩功能,即将一个大文件分割成多个小文件,便于在磁盘空间有限或者使用CD/DVD等存储介质时进行存储和传输。 5. **多平台支持**:优秀的文件打包工具通常...

    鸟哥的 Linux 私房菜第09章-档案与文件系统的压缩与打包1

    【鸟哥的 Linux 私房菜第09章-档案与文件系统的压缩与打包1】主要介绍了Linux系统中用于压缩和打包文件的方法,这些方法对于处理大型文件、方便网络传输以及存储优化具有重要意义。 1. 压缩文件的用途与技术: ...

    将文件压缩zip

    - **分卷压缩**:当需要将大文件分割成更小的部分以便于存储或传输时,ZIP支持分卷压缩,将一个大文件分成多个小的ZIP文件。 - **存档和备份**:ZIP文件常用于创建文件的备份,因为它们能将多个文件打包在一起,方便...

    文件打包工具

    6. **功能与特性**:打包工具通常包含以下功能:选择要压缩的文件,设置压缩级别(影响压缩速度和文件大小),创建自解压文件,密码保护,以及文件分割(当单个压缩文件过大时,可分成多个部分)。 7. **安全性**:...

    打包文件(包含解压缩).e.rar

    2. **分卷压缩**:RAR支持将大文件分割成多个小的分卷,方便在限制大小的媒介(如CD、邮件附件)上进行传输。 3. **修复功能**:如果RAR文件的部分数据损坏,可以通过文件头中的信息尝试恢复,提高了数据的安全性。 ...

    9_档案的压缩与打包

    总的来说,掌握Linux系统的档案压缩与打包技巧是提升系统管理员和开发者技能的重要环节,这将有助于优化存储资源、加速数据传输,并简化文件管理。通过不断实践和学习,你将更加熟练地运用这些工具,解决实际工作中...

    linux自动备份文件 并上传到远程服务器 脚本实现

    ### Linux自动备份文件并上传至远程服务器脚本实现 在Linux环境下进行自动化操作可以极大地提高工作效率,特别是对于数据备份及远程传输这样的重复性任务。本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL...

    linux命令:解压或者压缩数据

    TAR是一种打包工具,并非真正的压缩工具,它可以将多个文件和目录打包成一个单独的文件(通常称为tarball),但这个文件并不减小尺寸。若想进一步压缩,可以与gzip/bzip2一起使用。 例如,打包目录并使用gzip进行...

    一个专门用来压缩JAVASCRIPT代码的工具

    然而,为了达到最佳的压缩效果和适应各种复杂的代码情况,开发者可能需要结合其他高级工具和策略,例如代码分割、动态导入和模块打包工具(如Webpack或Rollup)。在实际项目中,合理地使用这些工具是优化前端性能的...

    linux下的rar工具64bit

    - 分卷压缩:`rar a -v10M archive_name.rar file*`,这将把RAR文件分割成每个10MB的分卷。 - 密码保护:`rar a -pYOUR_PASSWORD archive_name.rar file*`,为RAR文件设置密码保护。 4. 非官方的Rar工具: 由于...

    CZipTest(文件的压缩与解压)

    ZIP是一种流行的文件归档格式,用于将多个文件和目录打包成一个单一的可压缩文件。ZIP文件的主要优点在于它支持文件的压缩,可以有效地减少文件大小,便于存储和传输。ZIP格式还支持跨平台,可以在Windows、MacOS、...

    zip压缩解压缩

    ZIP是一种广泛使用的文件格式,它允许将多个文件打包成一个单一的压缩文件,以节省存储空间和提高传输效率。 【描述】:“zip压缩解压缩 源代码 c++ code”指出我们将探讨的是使用C++编程语言实现ZIP文件的压缩和解...

    ZIP压缩和解压类

    ZIP是一种流行的文件存档格式,它允许将多个文件和目录打包成一个单一的文件。ZIP文件内部包含了一个或多个经过压缩的数据块,每个数据块对应源文件的一部分。ZIP支持多种压缩算法,如Deflate和BZip2,其中Deflate是...

    任意后缀文件搜索打包工具

    标题中的“任意后缀文件搜索打包工具”是指一种软件或应用程序,它的主要功能是帮助用户在计算机中快速查找具有特定后缀名的文件,并将这些文件进行打包处理。这种工具通常具备以下关键特性: 1. **文件搜索**:...

    PDF压缩文件.rar

    "PDF压缩文件.rar"指的是一个使用RAR压缩格式打包的PDF文档集合,RAR是一种高效的文件压缩算法,常用于减小文件大小以便于存储和传输。 PDF文件的主要特点包括: 1. **跨平台兼容性**:PDF文件可以在Windows、Mac ...

    好用的压缩软件

    1. 文件压缩:将多个文件或整个文件夹打包成一个压缩文件,减小存储占用。 2. 文件解压:打开压缩文件,恢复原始文件结构和内容。 3. 文件预览:在不解压的情况下查看压缩文件内的内容。 4. 压缩设置:用户可以根据...

Global site tag (gtag.js) - Google Analytics