2024-05-09
2024-05-09
1598 字
4 分钟
目前比较常见的压缩格式
*.zip | zip 程序压缩归档的,很常见,但不包含文档名的编码信息,跨平台易乱码 *.7z | 7zip 程序压缩的档案 *.rar | 商用 rar 程序压缩打包的工具,window 上很常见,商业格式 *.xz | xz 程序压缩 *.gz | gz 程序压缩 *.bz2 | bzip2 程序压缩 *.tar.xz | xz 程序压缩,并使用 tar 归档 *.tar.gz | gz 程序压缩,并使用 tar 归档 *.tar.bz2 | bzip2 程序压缩,并使用 tar 归档
可否压缩多个文件
- xz,gzip,bzip2 程序只可以压缩一个文档(该进程的输入输出 都是流,不包含文档树信息),想要压缩多个文档需要借助 tar 打包工具(将所要压缩的多个文档打包为一个包含文档树信息的工具)
- 7zip,rar,zip 程序即直接压缩多个文档
压缩算法差异
- gzip 使用 DEFLATE 算法,压缩比适中
- 7z 新一代格式,使用压缩算法可替换,默认使用 lzma/lzma2 算法,使用 AES-256 作为加密算法
- xz 同样使用 lzma/lzma2 算法,不过只能压缩一个文档。压缩比很高
- zip 同时支持多个算法,默认使用 DEFLATE 算法,存在(跨平台乱码,容易破解等问题)
- rar 类似 DEFLATE 算法,使用 AES 加密 rar5.0 后使用 AES-256CBC
zip 被广泛用于 apk,jar,epub 等格式中。zip 最流行,不用担心目标平台没有解压工具。
如何选择压缩工具
- tar.gz Linux 上目前最常用的压缩格式,在压缩率和压缩时间上有很好的平铺。如果存在疑惑,就使用该格式
- zip 如果该文件需要被广泛传播,推荐使用它,不担心下载文件后的平台没有解压文件,但存在文件名乱码问题
- rar 性能差,商业格式,但存在 recovery records 功能,在网络环境不好,导致包容易破损,可以很快恢复
- tar.xz 追求压缩率,建议使用它。现在电脑的性能都可以,应该会大规模使用,eg: archlinux 的安装包都是 tar.xz 格式
- 7z 比 zip 更适合跨平台使用。但需要自己安装对应的解压工具
总结:跨平台不用考虑接收方是否有合适的解压工具,请使用 zip, 如果有更多个可能跨平台更推荐 7z. linux 上推荐 tar.xz 格式
常用的压缩和解压命令
tar 程序
unix 上常用的文件打包工具。常用的命令
|
|
参数解释
参数 | 含意 |
---|---|
-c | 创建打包档案 |
-v | 在压缩/解压过程中显示正在处理的文件 |
-f filename | -f 后面要立刻接被处理的档案名 |
-C 目录 | 将解压后的文件存在到 ted 目录下,默认当前目录 |
-z | 使用 gzip 压缩/解压,此时 -f 目录名最好为*.tar.gz |
-j | 使用 bzip2 压缩/解压,此时 -f 目录名最好为*.tar.bz2 |
-J | 使用 xz 压缩/解压, 此时 -f 目录名最好为*.tar.xz |
-a | 根据-f *.tar.xx 的 xx 结果选择合适的压缩/解压工具进行操作 |
一些特殊用法
- 仅解压指定文件
|
|
- 打包某个目录,忽视某些文件
1
tar -zcv -f filename.tar.gz directory --exclude=file1 --exclude=func*
zip
- 压缩命令
|
|
- 解压命令
|
|
其他参数:
- -t 测试压缩文件的完整性
- -x filename 排除某个文件
7z
一般使用 p7zip 需要自己安装。 p7zip 不仅支持 7z,还支持 zip,cab,gzip,arj,tar,rpm,deb 等格式
- 查看压缩文件内容,
7z l file.7z
- 压缩文件,或向压缩包中添加文件
7z a file.7z file1 directory1
- 解压
- 完整目录解压
7z x file.7z -o directory -y
- 非完整目录解压
7z e file.7z -o direcotry -y
- 完整目录解压
rar
- 压缩:
rar a file.rar file
. rar 命令需要自己安装 - 解压:
unrar x file.rar
比较好用的 GUI 压缩工具
linux
- ark kde 桌面的压缩工具
- engrampa mate 桌面的 file roller 分支
- file-roller gnome 上的工具
- peazip
- xarchiver
windos
- 7-Zip
- Bandizip · Free zip, 7z, unzip, unrar Archiver · Fast and easy
- WinRAR download free and support: WinRAR
macos
文件名乱码解决思路
windows 下 zip 文件名乱码解决思路
命令行解决思路
%E9%AB
乱码解决方法
|
|
- 网页: UrlEncode 编码/UrlDecode 解码 - 站长工具 上选择 urlDecode 解码
èªå¨é£è±è½»ä¼¼æ¢¦」
乱码解决思路
- 这种情况下一般就是编码格式转换的问题.
- 常见的默认编码格式:
- macos: UTF-8-Mac
- linux: latin1
- windows: 根据语言的设置编码格式不一样,如果默认是中文,编码格式一般是 gbk
- python 解决方法 从 latin1 到 gbk
|
|