![无法使用 tar 压缩整个文件?](https://linux22.com/image/1121700/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20tar%20%E5%8E%8B%E7%BC%A9%E6%95%B4%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我不是 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 解压缩