为什么 linux 要用 tar.gz,很少用 7z 或 zip?

至于为什么没搞出 tar.zip 这样的东西?这是因为当年 zip 的官方软件是个共享软件,不是自由软件。所以 Linux 不能直接用或者移植。那既然重写的话,就没有必要做的和 zip 一样,毕竟 gz 只用管压缩,不用管打包。

因为 7z 和 zip 压缩格式都不能保留 unix 风格的文件权限,比如解压出个可执行文件要重新 chmod chown 才能恢复正常。而 tar 格式可以。而 tar 本身不提供压缩,无非就是把包括所有文件的內容和权限拼成一个文件而己,所以用另外如 gzip 格式压缩。为什么是 gzip,因为几乎所有 linux 都支持而已。

为什么 linux 要用 tar.gz,很少用 7z 或 zip?

从压缩算法上来说, gz 是 gzip 的缩写,用的压缩算法和 zip 是一路货。

其实现在 Linux 已经转用 tar.xz 了,比如 deb (debian/ubuntu 用的软件包格式)好几年前就用 tar.xz 了。xz 和 7z 也是一路货。

如果你在意的是 tar.gz 是两段,先 tar 再 gz,那是因为 linux 受 unix 哲学「一个工具只做好一件事」的影响。

至于为什么没搞出 tar.zip 这样的东西?这是因为当年 zip 的官方软件是个共享软件,不是自由软件。所以 Linux 不能直接用或者移植。那既然重写的话,就没有必要做的和 zip 一样,毕竟 gz 只用管压缩,不用管打包。

人已赞赏
Linux专栏

微软开发者透露 Linux 在 Azure 上的使用量比 Windows Server 更多

2019-7-2 21:00:44

Linux专栏

阿里产品总监:2019 年八大最佳 Linux 版本

2019-7-23 10:10:23

2 条回复 A文章作者 M管理员
  1. 第一次知道,受教了!

    • 多谢支持!

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索