如果您需要在Linux上检查压缩文本文件的内容,您不必首先解压缩它。相反,你可以使用zcat或者BZCAT.命令提取和显示文件内容,同时保持文件完整。每个命令名称中的“cat”告诉您该命令的目的是显示内容。“z”表示它可以处理压缩文件。
使用哪一个命令取决于您正在检查的压缩文件的类型。如果文件被压缩gzip或者邮政编码,你会使用zcat命令。如果文件被压缩bzip2,你会使用BZCAT.命令。在一些系统中,zcat可能被称为Gzcat..
您可以通过压缩文件的扩展名来识别用于压缩文件的命令。
- .gz或.tgz = gzipped文件,使用zcat(或gzcat)
- .zip =压缩文件,使用zcat(或gzcat)
- .bz2 = bzzip文件,使用bzcat
在下面的例子中,H. G. Wells的“世界大战”的前20行从一个压缩文件中显示bzip2.
美元bzcat圣战。在19世纪的最后几年里,没有人会相信,比人类更伟大但也像他自己一样会死的智慧正在密切注视着这个世界;当人们忙于各种各样的事情时,他们被仔细地观察和研究,几乎就像一个人用显微镜仔细观察一滴水中成群繁殖的短暂生物一样。人们带着无限的自满,在这个世界上来回地谈论着他们的小事情,平静地确信他们的帝国凌驾于物质之上。在显微镜下的滴虫也可能做同样的事情。谁也没有想到太空中那些古老的世界会给人类带来危险,也没有想到它们只会把生命存在于其中的想法视为不可能或不可能的。回想起那些逝去的日子里的一些心理习惯是很奇怪的。大多数陆地上的人都幻想火星上可能有其他人,也许比他们低一等,并准备迎接一个传教事业。然而,穿过太空的港湾,那里的意识对于我们的来说就像我们的意识比动物的意识一样,冷酷广布而无情的智慧,用嫉妒的眼睛看作地球,慢慢地肯定会制定针对我们的计划。在二十世纪早期出现了巨大的幻灭。
若要只显示文本的一部分,请将命令输出传递给另一个命令,如头命令或Grep.命令,其中包含正在搜索的文本。例如:
美元bzcat圣战。哈格斯顿和霍克斯顿,事实上,在整个广阔的伦敦,在无生命的浩瀚恒星空间。但这是一个
后BZCAT.显示时,文件保持压缩状态。
$ ls -l The_War。bz2 -rw-r - r -获取。1 shs shs 100677 May 23 15:40 The_War.bz2
如果您想解压缩文件,而不只是检查其内容,请使用bunzip2.
美元bunzip2圣战。bz2 $ ls -l * -rw-r——r——。1 shs shs 345315 May 23 15:40 the war
要再次压缩文件,请使用bzip2命令。
$ ls -l -rw-r- r。1 shs shs 100677 May 23 15:40 The_War.bz2
的zcat命令的工作方式相同,但是gzip和邮政编码文件。
$ zcat the_war.gz |Grep浩瀚的Haggerston和Hoxton,而且,确实是整个伦敦的所有辽地荒谬的壮观空间。但那是$ ls -l the_war.gz -rw-r - r--。1 SHS SHS 132099 5月23日15:40 _WAR.GZ
下面的表格提供了用于压缩、解压缩和在不解压缩的情况下显示压缩文件内容的命令列表。请注意,邮政编码命令要求您提供要创建的压缩文件的名称,并且不会将文件“到位”(即,仅将该文件留下)作为另外两个命令。
压缩 | 来解压 | 在没有解压缩的情况下显示 |
---|---|---|
bzip2 | bunzip2 | BZCAT. |
gzip | gunzip | zcat |
邮政编码 | 解压缩 | zcat |
请注意,使用的压缩命令和格式是不同的,压缩速率取决于文件内容以及所使用的命令。的zcat和BZCAT.命令令人惊讶地快速。使用三个命令压缩相同文件的结果如下所示。
$ bzip2 the_war $ gzip the_war $ zip the_war.zip the_war $ ls -l总共364 -rw-r - r--。1 SHS SHS 100677 5月23日16:47 _WAR.BZ2 -RW-R - R--。1 SHS SHS 132099 5月23日15:40 _WAR.GZ -RW-R - R--。1 shs shs 132245 5月23日16:11 _war.zip
的BZCAT.和zcat命令提供了一种简单的方法来验证压缩文本文件的内容,而无需Unclute,然后重新按压文件。请记住,这些命令仅适用于压缩文本文件。你会看到很多输出,但如果你试图看一下压缩图像或可能是任何价值柏油文件。