LinuxShell下分卷压缩与解压
1. 简介
由于网络传输有时会限制单个文件大小,所以对于大文件的传输我们需要将其分卷压缩成多个小的压缩包。在 LinuxShell 下可以使用 split
& cat
(系统自带)命令或直接使用压缩软件 rar
、zip
、7z
(需自行安装)命令来实现分卷压缩和解压。
2. rar/7z 命令
2.1 分卷压缩
1 | rar/7z a -v<size>[b,k,m,g,...] <压缩卷名> <被压缩文件/文件夹名> |
其中,参数 a
表示添加卷,<size>
指定每卷压缩包最大不超过的大小;<size>
后可以跟数值单位 b,k,m,g,...
,依次为字节、千字节、兆字节、吉字节……(不指定数值单位时默认为字节)。
2.2 解压
rar
/7z
命令解压很方便,只需对任意一个压缩卷执行解压即可恢复原文件:
1 | rar/7z x <压缩卷名> |
3. zip
3.1 分卷压缩
zip
分卷压缩与 rar
/7z
有些许不同:
1 | zip -s<size>[b,k,m,g,...] -r <压缩卷名> <被压缩文件/文件夹名> |
其中,参数 -r
表示递归处理文件夹下的文件(如果只是压缩单个文件可以省略)。
3.2 解压
zip
分卷压缩后会形成若干个 .zxx
文件和一个 .zip
文件,解压时需要根据该 .zip
文件来合并其他所有分卷为单个分卷,然后在利用 unzip
解压即可恢复原文件:
1 | zip -s0 <压缩卷名>.zip --out <合并压缩卷名> |
4. split & cat
split
命令使用来分割文件的强大工具,它不仅可以用来分割压缩包,也能用来分割一般的文件;cat
命令用来合并 split
分割的文件。
4.1 分割压缩包
1 | split -b<size>[b,k,m,g,...] <压缩卷名> |
split
分割后形成的小文件自动命名为 x00 x01 x02 ……
或 xaa xab xac ……
。
4.2 合并压缩包
将 split
分割形成的 x*
小文件合并为原来的压缩卷:
1 | cat x* > <压缩卷名> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 お前はどこまで見えている!
评论
WalineTwikoo