当我尝试cat
在 zlib 压缩文件上运行命令时,我得到了这一串奇怪的字符xK??OR04d?H????/?I;{<%
他们来自哪里?
答案1
当在非常基本的层面上使用时 - 例如cat filename
- 该cat
命令只是获取文件的内容并将其写入标准输出,直到到达文件末尾。
压缩文档实际上是二进制文件。压缩文本文件可以使其大小减小,但压缩后它们不再是文本文件;它们现在是二进制文件。
因此,当您对二进制文件运行基本cat
命令时,它将直接显示该文件的原始内容,这就是xK??OR04d?H????/?I;{<%
现在压缩的文本文件的压缩二进制内容。
也就是说,对于二进制文件,可以通过管道将输出传输cat
到另一个需要/使用二进制输入的程序。
例如,如果我有一个名为的文本文件textfile.txt
,并且我用 Gzip 压缩它,所以文件名现在是,我可以对文件内容textfile.txt.gz
运行此命令,以便我可以在终端中将其读入为解压缩的文本文件。cat
gzip
cat textfile.txt.gz | gzip -d -