为什么Linux 用 tar.gz而很少用 7Z 或 ZIP?

zip是最拉的,连文件名编码都不保存,Windows上的zip包拿到Linux上unzip解压会乱码。

7z是一个俄罗斯Windows程序员开发的,代码是开源的,压缩算法LZMA也是开源的,官方没有直接提供Linux支持。第三方在Linux上的实现叫做xz,算法用的也是LZMA,但貌似不支持多线程,速度不如Windows上的7z。7z解压后的文件名不会乱码。Linux上通过Wine也可以良好运行7z图形客户端。

另外还有一个第三方的实现叫做p7zip,还支持解压rar文件,而且不乱码,Debian系Linux上这样安装:

sudo apt install p7zip p7zip-full p7zip-rar。

sudo apt install p7zip p7zip-full p7zip-rar

Linux上为保留文件属性,一般压缩前先打包成tar,然后一般用gzip、bzip或者xz进行压缩,gzip压缩率最低,但速度最快,贵在均衡,所以用得最多。

网友:"平章芯事"先生说得很对,乱码不是Linux也不是压缩软件的事。前几天遇到一件事,就是提供打包下载用户上传的文件。服务器是Linux,压缩当然使用zip了,Linux 下好好的,跑到windows下解压缩就乱码。文件是windows机上上传的,怎么会乱?呵呵,浏览器的功劳,把文件名自动转换成了UTF-8编码了。打包时判断一下客户端操作系统,是windows 就在压缩时把文件名转换成GBK编码。完美解决问题。搞过Web设计的人应该都清楚吧。

猜你喜欢

转载自blog.csdn.net/yaxuan88521/article/details/125403689