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* 小文件合并为原来的压缩卷:

7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。

使用语法:

7z <命令行>[<选项>...] <基本档案名称>[<参数变量>...]

命令及实例:

x 在当前目录中,使用完整路径从压缩档案中释放文件或者到指定的输出文件夹。

7z x archive.zip:从压缩档案 archive.zip解压所有文件到当前文件夹。

a 添加文件到压缩档案。

7z a archive1.zip subdir\:增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived1.zip中的文件名包含subdir\前缀。

d 从压缩档案删除文件。

7z d archive.zip *.bak -r:从archive.zip中删除所有的bak文件。


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

原文地址: http://outofmemory.cn/yw/8958346.html

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

发表评论

登录后才能评论

评论列表(0条)

保存