(如何在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

使用 *tar.gz来操作:

压缩:tar -zcvf - a.chm | split -b 1400k - a.chm.tar.gz

解压缩:cat a.chm.tar.gz* | tar -zxv

windows和linux通用的压缩,如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能?...相关推荐

  1. linux查看图像大小_如何在Linux上调整一批图像的大小?

    linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...

  2. linux rar加压_如何在linux下解压缩rar格式的文件压缩包

    ######################################################### #老男孩笔记系列-如何在linux下解压缩rar格式的文件压缩包 #date:201 ...

  3. linux tar压缩包目录,如何在Linux上使用tar命令解压和压缩文件

    inux上的tar命令通常用来创建名为.tar.gz或.tgz的归档文件,也被称为"压缩包".该命令有大量的选择,但你只需要记住几个字母来快速创建tar归档. tar命令可以提取生 ...

  4. linux上安装osg_如何在 Linux 上安装并启用 Flatpak 支持? | Linux 中国

    Flatpak 提供了一种通用的包封装格式,可以在任何 Linux 发行版中使用.它提供了一个沙箱(隔离的)环境来运行应用程序,不会影响其他应用程序和发行版核心软件包.-- Magesh Maruth ...

  5. linux更换steam目录,如何在Linux上备份Steam游戏数据 | MOS86

    无论您是需要重新安装Linux操作系统,还是只是想确保游戏进度不会丢失数据,备份存储游戏数据就是答案. 您可以制作完整的磁盘映像,也可以使用专用工具. 无论出于什么原因备份游戏数据,您都可以选择以下三 ...

  6. 制作ghost的linux系统安装方法,技术|如何在Linux平台上安装Ghost博客平台

    Ghost是一个相对较新的博客发布平台,它开始于众筹平台kickstarter上一个£25,000英镑的众筹项目.尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发功 ...

  7. linux aide使用方法,如何在Linux中使用“AIDE”检查文件和目录的完整性

    在我们关于加强和保护CentOS 7的大型指南中,在" 内部保护系统 "一节中,我们列出的用于内部系统保护以防病毒,rootkit,恶意软件和检测未授权活动的有用安全工具之一是AI ...

  8. linux exfat分区格式化,如何在Linux上将USB盘格式化为exFAT

    本教程教你如何在 Linux 系统上以 exFAT 格式格式化 USB 盘.同时包括 GUI 和命令行两种方法. 长期以来,FAT 是用于格式化磁盘文件系统的默认选择.它与几乎所有主要操作系统兼容. ...

  9. linux skype安装路径,如何在Linux上安装最新Skype

    Skype是一种通过Internet进行通信和电话呼叫的软件.使用VoIP技术.该软件由开发人员编码.这种软件,美国人说得非常便宜,允许世界上数百万人通过互联网或电话说话. 聊天,分享,语音或视频通话 ...

最新文章

  1. OpenCV YUV 与 RGB的互转(草稿)
  2. 【专访】KDD2018主席熊辉教授:数据挖掘与深度学习结合新趋势
  3. CLR 基本概念理解
  4. hadoop的HDFS-----防火墙导致9870端口无法访问
  5. python125免费教程,125 个视频成就千万级网红,Python 告诉你李子柒都在拍些什么?...
  6. HTTP/3 来了,你了解它么?
  7. flink写入clickhouse遇到210错误故障排查思路
  8. python和java哪个好学-java和python哪个的前途更好?
  9. [JNI] 开发之旅 (2)解释jni helloworld实例
  10. python快速编辑入门答案_1.1、Python快速入门(0529)
  11. 接上文安装完opencv后安装viz模块
  12. java cookie全解析(session与cookie的机制和原理)
  13. linux dd命令制作软盘,[Ubuntu]dd 命令,软盘读写实例:二进制文件.bin -镜像文件 .img - 软盘设备 /dev/fd0...
  14. matlab 风资源,自己开发的风资源分析工具包WindAnalysis
  15. 简单模拟快递单号查询页面展示
  16. 人脸识别 闸机开发分享
  17. MindManager思维导图2020中文版免费,IT行业知识思维导图
  18. 错过必定后悔的干货!深入解析大数据行业的集群架构方案
  19. 《人人都是产品经理V2.0》读书笔记——第01章
  20. 深度神经网络的主要模型有哪几种类型

热门文章

  1. 互联网+培训(精华)
  2. CAD制图软件中面域旋转命令的使用技巧
  3. CAA 控制台窗口的输出
  4. 替换replace,translate
  5. Android自定义可移动悬浮按钮,附大厂真题面经
  6. 任正非最新谈中美、科技、ChatGPT
  7. 转载! ----上海,我的奋斗岁月----
  8. BDTC 2017 | 潜能无限,深度剖析大数据在交通旅游领域的应用实践
  9. HBase shell 命令没有输完换行后结束本次输入重新输入命令
  10. r语言 tunerf_R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)