command-line - .tar 与 .tgz...有什么区别?

标签 command-line tar

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




所以我只是为电子邮件提交归档作业,并被讲师要求使用 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,所以我不太熟悉不同扩展的用途。显然,我已经找到了一种方法来获得我需要的功能,但是像所有的修补匠一样,我很好奇。

你说什么?

最佳答案

绝对没有区别。文件名只是一个文件名。通常,当您使用 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}

关于command-line - .tar 与 .tgz...有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198087/

相关文章:

指向错误位置的 java -version 命令

linux - 计算除列表文件外的所有文件的MD5

linux - 在 tbz 存档中解压缩单个文件

linux - 在 Linux 中使用 tar 的不同方法

bash 脚本使用单词指示符和单词修饰符来自动化 wget tar cd

python - 通过命令行获取信息提示

node.js - 如何在 Node.js 中打开命令行窗口?

node.js - 在 Linux 上从二进制文件安装 Node 需要哪些 tar 选项?

linux - 完成从 tarball 中提取给定文件后,管道 un-tar kill pipe

linux - 在文本文件中添加存储在第二个 'column' 中的数千个数字?