张小弟博客

梦想需要付诸行动,否则只能是梦

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

split -b 100M -d -a 1 website.tar.gz website.tar.gz.


压缩

1、普通tar压缩命令,将 website 文件夹压缩成 website.tar.gz

tar -zcvf website.tar.gz website


2、压缩后的文件太大,需要将 website.tar.gz 分割成N个指定大小的文件

split -b 100M -d -a 1 website.tar.gz website.tar.gz.

使用split命令,-b 100M 表示设置每个分割包的大小,单位还是可以k

-d 参数指定生成的分割包后缀为数字的形式

//-a x来设定序列的长度(默认值是2),这里设定序列的长度为1,如果文件比较大,生成的文件比较大,可能需要是指更大,比如3或4,否则会提示split: output file suffixes exhausted


 执行命令后,生成压缩包如下:

-rw-r--r--  1 root     root      4194304000 May 20 14:00 website.tar.gz.0
-rw-r--r--  1 root     root      4194304000 May 20 14:02 website.tar.gz.1
-rw-r--r--  1 root     root      4194304000 May 20 14:03 website.tar.gz.2
-rw-r--r--  1 root     root      4194304000 May 20 14:05 website.tar.gz.3
-rw-r--r--  1 root     root      4194304000 May 20 14:06 website.tar.gz.4
-rw-r--r--  1 root     root      4194304000 May 20 14:08 website.tar.gz.5
-rw-r--r--  1 root     root      2256379886 May 20 14:10 website.tar.gz.6


3、其实以上两步也可以合并成一步来执行

tar -zcvf website.tar.gz website | split -b 100M -d -a 1 - website.tar.gz.

采用管道,其中 - 参数表示将所创建的文件输出到标准输出上


解压

1、普通解压命令

tar -zxvf website.tar.gz

2、分割后的压缩包解压命令如下

cat website.tar.gz.* | tar -zxv

备注:

cat a* | tar jxvf -,可以解压a.tar.bz2.a00类似的。


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


【下一篇】windows 拼接linux下split的文件linux和Windows下查看文件哈希值

参考:https://blog.csdn.net/loongembedded/article/details/54233175

张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    打赏
    • 评论列表:
    •  2291200076
       发布于 2021-08-27 21:58:23  回复该评论
    • 例如linux.zip.001, linux.zip.002, linux.zip.003...
      首先 cat linux.zip* ˃ linux.zip #合并为一个zip包
      然后 unzip linux.zip #解压zip包

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:234
    • 页面总数:19
    • 分类总数:56
    • 标签总数:156
    • 评论总数:30
    • 浏览总数:38850

    | | | | | | | |