LinuxShell分卷压缩

LinuxShell分卷压缩,第1张

由于网络传输有时会限制单个文件大小,所以对于大文件的传输我们需要将其分卷压缩成多个小的压缩包。在 LinuxShell 下可以使用 split &cat(系统自带)命令或直接使用压缩软件 rar、zip、7z(需自行安装)命令来实现分卷压缩和解压

其中,参数 a 表示添加卷, <size> 指定每卷压缩包最大不超过的大小; <size> 后可以跟数值单位 b,k,m,g,... ,依次为字节、千字节、兆字节、吉字节……(不指定数值单位时默认为字节)。

rar/7z 命令解压很方便,只需对任意一个压缩卷执行解压即可恢复原文件:

zip 分卷压缩与 rar/7z 有些许不同:

其中,参数 -r 表示递归处理文件夹下的文件(如果只是压缩单个文件可以省略)。

zip 分卷压缩后会形成若干个 .zxx 文件和一个 .zip 文件,解压时需要根据该 .zip 文件来合并其他所有分卷为单个分卷,然后在利用 unzip 解压即可恢复原文件:

split 命令使用来分割文件的强大工具,它不仅可以用来分割压缩包,也能用来分割一般的文件;cat 命令用来合并 split 分割的文件。

split 分割后形成的小文件自动命名为 x00 x01 x02 …… 或 xaa xab xac …… 。

将 split 分割形成的 x* 小文件合并为原来的压缩卷:

进行分卷压缩与解压呢,有如下几个命令可供使用:假设当前目录下有proc目录。

tar -czf - proc | split -b 2m -d - proc.tar.gz

#分卷压缩proc目录,并保持每个压缩包的大小不超过2m字节。命令执行后,会生成proc.tar.gz00、proc.tar.gz01等文件

cat proc.tar.gz* | tar -xzf -

#将各个分卷压缩包解压到当前目录 ,《Linux就该这么学》

cat proc.tar.gz* >proc.tar.gz #将各个分卷压缩包合成为一个proc.tar.gz文件

解压:

解压xxx.tar.gz00 xxx.tar.gz01 xxx.tar.gz02 xxx.tar.gz03 xxx.tar.gz04 ……先用以下命令合并

cat xxx.tar.gz* >>xxx.tar.gz

然后用tar -vzxf xxx.tar.gz解压


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8498675.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存