无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2827|回复: 5
打印 上一主题 下一主题

[转贴] Linux下将文件打包、压缩并分割成指定大小

  [复制链接]
跳转到指定楼层
1#
发表于 2017-12-26 10:52:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
http://blog.csdn.net/whu_zhangmin/article/details/45870077

1、普通tar压缩命令
tar -zcvf cm-11.tar.gz cm-11
//将cm-11文件夹压缩成cm-11.tar.gz

2、压缩后的文件太大,需要将cm-11.tar.gz分割成N个指定大小的文件,怎么办?一条命令搞定
split -b 4000m -d -a 1 cm-11.tar.gz cm-11.tar.gz.
//使用split命令,-b 4000m 表示设置每个分割包的大小,单位还是可以k
// -d "参数指定生成的分割包后缀为数字的形式
//-a x来设定序列的长度(默认值是2),这里设定序列的长度为1

执行命令后,生成压缩包如下:
-rw-r--r--  1 root     root      4194304000 May 20 14:00 cm-11.tar.gz.0
-rw-r--r--  1 root     root      4194304000 May 20 14:02 cm-11.tar.gz.1
-rw-r--r--  1 root     root      4194304000 May 20 14:03 cm-11.tar.gz.2
-rw-r--r--  1 root     root      4194304000 May 20 14:05 cm-11.tar.gz.3
-rw-r--r--  1 root     root      4194304000 May 20 14:06 cm-11.tar.gz.4
-rw-r--r--  1 root     root      4194304000 May 20 14:08 cm-11.tar.gz.5
-rw-r--r--  1 root     root      4194304000 May 20 14:09 cm-11.tar.gz.6
-rw-r--r--  1 root     root      2256379886 May 20 14:10 cm-11.tar.gz.7

3、其实以上两步也可以合并成一步来执行
tar -zcvf cm-11.tar.gz cm-11 | split -b 4000m -d -a 1 - cm-11.tar.gz.
//采用管道,其中 - 参数表示将所创建的文件输出到标准输出上

4、普通解压命令
tar -zxvf cm-11.tar.gz

5、分割后的压缩包解压命令如下
cat cm-11.tar.gz.* | tar -zxv

6、附上tar命令的参数解释
tar可以用来压缩打包单文件、多个文件、单个目录、多个目录。
Linux打包命令 tar
tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。
常用格式:
单个文件压缩打包 tar -czvf my.tar.gz file1
多个文件压缩打包 tar -czvf my.tar.gz file1 file2,...(file*)(也可以给file*文件mv 目录在压缩)
单个目录压缩打包 tar -czvf my.tar.gz dir1
多个目录压缩打包 tar -czvf my.tar.gz dir1 dir2
解包至当前目录:tar -xzvf my.tar.gz
cpio
含子目录find x* | cpio -o > /y/z.cpio
不含子目录ls x* | cpio -o > /y/z.cpio
解包: cpio -i < /y/z.cpio
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
   例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
   『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!

注:原文的分割单位用M,在实际操作时,M是无效的,只能用m.

评分

参与人数 1无忧币 +5 收起 理由
lookerJ + 5 很给力!

查看全部评分

2#
发表于 2017-12-26 19:19:01 | 只看该作者
tar是不是Linux自带的压缩软件?为什么不用7-zip呢?
回复

使用道具 举报

3#
 楼主| 发表于 2017-12-26 19:26:24 | 只看该作者

tar是Linux自带的打包软件,服务器一般用这个多。
回复

使用道具 举报

4#
发表于 2017-12-26 19:29:27 | 只看该作者
很实用,谢谢
回复

使用道具 举报

5#
发表于 2022-10-17 00:20:12 | 只看该作者
谢谢分享!
回复

使用道具 举报

6#
发表于 2022-10-19 18:38:13 | 只看该作者
大家多分享咯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-11 03:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表