linux下,压缩ZIP文件,用命令怎么实现分包压缩啊?或者不能实现?

咖啡香茶 2009-02-26 10:53:59
文件比较大,全部压缩以后会超过HTTP下载的限制,想要分包压缩。找了好久没有找到分包压缩的命令。。。。


或者linux下无法分包压缩的话,给个解决问题的思路吧。。。。。。

谢谢了
...全文
1804 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
i_coding 2009-03-03
  • 打赏
  • 举报
回复
如果是单个文件的话,也没什么压缩的必要阿,多文件的话,可以先分类到不同的目录中,在分别压缩阿。。。

真是单文件的话,可以先拆分,再cat合并。。。
bxhzct 2009-03-03
  • 打赏
  • 举报
回复
uzip -d
Soulic 2009-02-27
  • 打赏
  • 举报
回复
下个rar for linux就可以使用rar命令来解压了
fox000002 2009-02-26
  • 打赏
  • 举报
回复
tar 在 windows 的支持不好

可以考虑用 rar 来压缩

rar a -m5 -v12m myarchive myfiles # 最大限制为 12M

rar e myarchive.part1.rar #解压



windows 下就用 WinRAR
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shanxihoufei 的回复:]
谢谢楼上。。

我也找到了这个文章,可是这个是压缩tar文件的,到windows下不能用。

我想要的是压缩zip的分包压缩。。。。

呵呵
[/Quote]
你不是linux环境吗?而且tar包在win下都支持啊.
linaxing 2009-02-26
  • 打赏
  • 举报
回复
可以考虑使用zipsplit命令,具体man zip
咖啡香茶 2009-02-26
  • 打赏
  • 举报
回复
谢谢楼上。。

我也找到了这个文章,可是这个是压缩tar文件的,到windows下不能用。

我想要的是压缩zip的分包压缩。。。。

呵呵
wuyu637 2009-02-26
  • 打赏
  • 举报
回复

(如何在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 命令" 来查阅他们的手册。


=============
zz

19,614

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧