存档和压缩之间的混淆?

eng*_*ent 5 gzip archive compression tar bzip2

我对存档和压缩感到困惑,我将写出我认为正确的内容。

以下是我希望更好地理解的命令:

tar –c file > file.tar
tar –cf file.tar file // this command and the previous one are about the same
Run Code Online (Sandbox Code Playgroud)

我认为前面的命令只是创建了一种公共文件夹(存档),其中我们拥有执行存档命令之前的确切文件(大小根本没有减少),唯一的区别是第三个将产生使用 .gz 而不是 .tar 的存档。

为了减少档案的大小(压缩它),我们必须使用:

tar -cjf file.tar.bz2 file
tar –cJf file.tar.xz file

gzip file.tar // it’ll create a compressed file called file.tar.gz
tar -cz file  > file.tar.gz 
Run Code Online (Sandbox Code Playgroud)

我的看法是,如果扩展名是 .gz、.bz2 或 .xz,则是压缩的,如果是 .tar,则是存档的,这是正确的吗?

小智 5

我认为这个回答了你的问题:https : //unix.stackexchange.com/questions/127169/does-tar-actually-compress-files-or-just-group-them-together

确认您的想法: tar 确实只是将文件放在一个存档中而没有任何压缩。您可以使用的压缩标志将使 tar 在创建存档时使用一种压缩类型。

此外,文件扩展名是手动输入的,因此您可能会像这样被愚弄:( tar -cz file > file.tar.bz2当您应该使用 .tar.gz 代替时)

如果您想稍后提取此文件,您会误以为您使用了 gzip 压缩,因此请了解您在做什么或在某处记录您所做的事情。

  • `file` 命令或 `tar` 本身非常擅长检测应用了哪种压缩。 (2认同)