7

所以我只是归档了一个电子邮件提交的作业,并被讲师要求使用 tar 命令并创建一个 .tgz 文件,我使用以下命令行脚本完成了该文件:

tar -cvf filename.tgz {main.cpp other filenames here}

存档或任何内容都没有问题,但是当我通过电子邮件发送文件时,gmail 阻止我说我的文件包含可执行文件(我假设 main.cpp?),并且出于安全原因不允许这样做。

因此,我运行了相同的脚本,但这次创建了一个 .tar 文件,如下所示:

tar -cvf filename.tar {main.cpp filenames here}

再次,档案很好,但现在 gmail 可以让我通过电子邮件发送档案。那么区别是什么呢?我只是为此目的才真正使用过 tar,所以我并不真正熟悉不同扩展的用途。显然,我已经找到了获得所需功能的方法,但像所有修补匠一样,我很好奇。

你说什么?

4

1 回答 1

14

完全没有区别。文件名只是一个文件名。 通常,当您使用该tgz表单时,它表明您已经 gzip 压缩了 tar 文件(作为第二步或使用z标志):

tar zcvf filename.tgz {filenames}

或者

tar cvf filename {filenames}
gzip -S .tgz filename

.tar,另一方面,通常表示“这是一个未压缩的tar 文件”:

tar cvf filename.tar {filenames}

大多数现代 tar 实现还支持j使用bzip2压缩的标志,因此您也可以使用:

tar jcvf filename.tar.bz2 {filenames}
于 2013-04-24T17:09:09.843 回答