无法使用 tar 压缩整个文件?

无法使用 tar 压缩整个文件?

我不是 tar (xz) 专家,但我有一个视频 (FLV),其大小为 95MB。

我想压缩它,我正在使用这个命令

XZ_OPT=-9 tar -Jcvf myfile.tar.xz 1.flv

但我一直收到这个错误:

tar: myfile.tar.xz: Cannot write: Broken pipe
tar: Error is not recoverable: exiting now

并且 myfile.tar.xz 仅包含 24MB 的视频。

答案1

什么是 tar 档案?

TAR 是一种将多个文件合并为一个的文件格式。它最初是为应收账韭菜。这样的 tar 文件可以称为压缩包

默认情况下不涉及压缩。但是,当今的版本tar可以使用外部压缩程序(如果已安装)来压缩文件。例如,使用命令行选项-z进行 gzip 压缩,使用选项-a根据给定的文件扩展名( 、 等)压缩tar.gz > gzip文件tar.xz > xz-compression

使用什么压缩?

tar 存档使用的压缩算法是无损,即总会有一个限制,低于这个限制我们就无法进一步压缩数据,否则会丢失数据。

图像、视频或音频文件可以使用无损格式进行压缩,但这种情况并不常见,因为这些文件对于在互联网或有限的数据存储中使用来说仍然太大。

因此,这些文件被压缩为有损压缩算法。大多数情况下,这些损失几乎不可察觉,但从高度压缩的 JPG 图像、MPG 视频或 mp3 音频文件中,我们都知道,过度压缩会导致伪影。

为什么不将压缩的 tarball 用于多媒体内容?

上面所说的很明显,在我们已经选择使用有损压缩来压缩数据之后,我们就不能再使用额外的无损压缩算法来进一步压缩这些数据了。尝试这样做只会浪费时间,而且收效甚微。有时无损压缩甚至可能导致已经高度压缩的内容增加。

因此,对多媒体内容使用 tarball 只是为了在档案中保存多个文件,但不能进一步压缩它。

答案2

我不确定压缩一个文件是否会减小文件大小。但这是命令

tar -cvf foo.tga filetocompress

C 表示创建 tar 文件。使用 xvf 解压缩

相关内容