linux查看gz文件内容
linux下查看tar压缩包里面的内容,方法如下:
1、使用grep命令:
tartvfPackage_name.tar|grepKey_work
#例如:
[root@root~]#tartvfbb.tar
-rw-r--r--root/root2002011-10-2017:27:00aa
-rw-------root/root13032011-10-1319:10:07anaconda-ks.cfg
drwxr-xr-xroot/root02011-10-1319:38:54Desktop/
-rw-r--r--root/root376402011-10-1319:09:59install.log
-rw-r--r--root/root44042011-10-1319:08:45install.log.syslog
[root@rhel55-37~]#tartvfbb.tar|greplog
-rw-r--r--root/root376402011-10-1319:09:59install.log
-rw-r--r--root/root44042011-10-1319:08:45install.log.syslog
2、直接指定文件名或通配符
tartvfPackage_name.tar[filename;*keyword*]
[root@root~]#tartvfbb.tarinstall.log
-rw-r--r--root/root376402011-10-1319:09:59install.log
[root@rhel55-37~]#tartvfbb.tar*log*
-rw-r--r--root/root376402011-10-1319:09:59install.log
-rw-r--r--root/root44042011-10-1319:08:45install.log.syslog
‘贰’ linux下查看gz文件是否完整
测试rar/bz2/tar.gz/gz压缩文档完整性: https://www.cnblogs.com/passedbylove/p/6506181.html
gzip -t *.gz
tar jtvf archive.tar.bz2
tar jtvf archive.tar.gz
unrar t 1.rar
首先fastqc测试:文件不完整
gzip -t测试:文腔雀件不完整
测试中问题:
如果不止一个gz报错,不止一个gz不完整,那么gzip -t gz就找到一个不完整的gz就退没圆野出了,无法 gz继续找下去。
解决枯喊:多个gz检测完整性,建议写shell循环来检测。
‘叁’ linux怎样解压.gz文件
当在备份重要文件和通过网络发送大文件的时候,对文件进行压缩非常有用。请注意,压缩一个已经压缩过的文件会增加额外开销,因此你将会得到一个更大一些的文件。所以,请不要压缩已经压缩过的文件。在 GNU/Linux 中,有许多程序可以用来压缩和解压缩文件。在这篇教程中,我们仅学习其中两个应用程序。
在类 Unix 系统中,最常见的用来压缩文件的程序是:
gzip
bzip2
- $ gzip ostechnix.txt
- $ ls -l Downloads/ | gzip > ostechnix.txt.gz
- $ gzip -c ostechnix.txt > output.txt.gz
- $ gzip -c -d output.txt.gz > ostechnix1.txt
- $ gzip -d ostechnix.txt.gz
- $ gunzip ostechnix.txt.gz
- $ gunzip -c ostechnix1.txt.gz
- $ zcat ostechnix.txt.gz
- $ gunzip -c ostechnix1.txt.gz | less
- $ zcat ostechnix.txt.gz | less
- $ zless ostechnix1.txt.gz
1– 最快 (最差)
9– 最慢 (最好)
6– 默认级别
- $ gzip -9 ostechnix.txt
- $ gzip -c ostechnix1.txt > output.txt.gz
- $ gzip -c ostechnix2.txt >> output.txt.gz
- $ gunzip -c output.txt.gz
- $ gunzip -c output.txt
- $ zcat output.txt.gz
- $ zcat output.txt
- $ man gzip
- $ bzip2 ostechnix.txt
- $ bzip2 -c ostechnix.txt > output.txt.bz2
- $ bzip2 -d ostechnix.txt.bz2
- $ bunzip2 ostechnix.txt.bz2
- $ bunzip2 -c ostechnix.txt.bz2
- $ bzcat ostechnix.txt.bz2
- $ man bzip2
1. 使用 gzip 程序来压缩和解压缩文件
gzip是一个使用 Lempel-Ziv 编码(LZ77)算法来压缩和解压缩文件的实用工具。
1.1 压缩文件
如果要压缩一个名为ostechnix.txt的文件,使之成为 gzip 格式的压缩文件,那么只需运行如下命令:
上面的命令运行结束之后,将会出现一个名为ostechnix.txt.gz的 gzip 格式压缩文件,代替了原始的ostechnix.txt文件。
gzip命令还可以有其他用法。一个有趣的例子是,我们可以将一个特定命令的输出通过管道传递,然后作为gzip程序的输入来创建一个压缩文件。看下面的命令:
上面的命令将会创建一个 gzip 格式的压缩文件,文件的内容为Downloads目录的目录项。
1.2 压缩文件并将输出写到新文件中(不覆盖原始文件)
默认情况下,gzip程序会压缩给定文件,并以压缩文件替代原始文件。但是,你也可以保留原始文件,并将输出写到标准输出。比如,下面这个命令将会压缩ostechnix.txt文件,并将输出写入文件output.txt.gz。
类似地,要解压缩一个gzip格式的压缩文件并指定输出文件的文件名,只需运行:
上面的命令将会解压缩output.txt.gz文件,并将输出写入到文件ostechnix1.txt中。在上面两个例子中,原始文件均不会被删除。
1.3 解压缩文件
如果要解压缩ostechnix.txt.gz文件,并以原始未压缩版本的文件来代替它,那么只需运行:
我们也可以使用gunzip程序来解压缩文件:
1.4 在不解压缩的情况下查看压缩文件的内容
如果你想在不解压缩的情况下,使用gzip程序查看压缩文件的内容,那么可以像下面这样使用-c选项:
或者,你也可以像下面这样使用zcat程序:
你也可以通过管道将输出传递给less命令,从而一页一页的来查看输出,就像下面这样:
另外,zless程序也能够实现和上面的管道同样的功能。
1.5 使用 gzip 压缩文件并指定压缩级别
gzip的另外一个显着优点是支持压缩级别。它支持下面给出的 3 个压缩级别:
要压缩名为ostechnix.txt的文件,使之成为“最好”压缩级别的 gzip 压缩文件,可以运行:
1.6 连接多个压缩文件
我们也可以把多个需要压缩的文件压缩到同一个文件中。如何实现呢?看下面这个例子。
上面的两个命令将会压缩文件ostechnix1.txt和ostechnix2.txt,并将输出保存到一个文件output.txt.gz中。
你可以通过下面其中任何一个命令,在不解压缩的情况下,查看两个文件ostechnix1.txt和ostechnix2.txt的内容:
如果你想了解关于gzip的更多细节,请参阅它的 man 手册。
2. 使用 bzip2 程序来压缩和解压缩文件
bzip2和gzip非常类似,但是bzip2使用的是 Burrows-Wheeler 块排序压缩算法,并使用哈夫曼(Huffman)编码。使用bzip2压缩的文件以 “.bz2” 扩展结尾。
正如我上面所说的,bzip2的用法和gzip几乎完全相同。只需在上面的例子中将gzip换成bzip2,将gunzip换成bunzip2,将zcat换成bzcat即可。
要使用bzip2压缩一个文件,并以压缩后的文件取而代之,只需运行:
如果你不想替换原始文件,那么可以使用-c选项,并把输出写入到新文件中。
如果要解压缩文件,则运行:
或者,
如果要在不解压缩的情况下查看一个压缩文件的内容,则运行:
或者,
如果你想了解关于bzip2的更多细节,请参阅它的 man 手册。
总结
在这篇教程中,我们学习了gzip和bzip2程序是什么,并通过 GNU/Linux 下的一些例子学习了如何使用它们来压缩和解压缩文件。接下来,我们将要学习如何在 Linux 中将文件和目录归档。
干杯!
‘肆’ Linux下如何在不解压的情况下快速获得100G的gz文件最后几行内容。
gzip -cd t.h.gz |tail -1
最后一行。
gzip -cd t.h.gz |tail -10
最后10行
‘伍’ 在linux中,如何查找你的系统中有多少个.gz的文件,即显示这样的文件数。
find / -name "*.gz" |wc -l 其中/代表跟目贺圆桐录,“禅坦”里面是查询的条件,wc -l统腔皮计数量
‘陆’ Linux xargs grep zgrep命令
xargs 是给命令返腊传递参数的一个过滤器,也是组合多个命令的一个工具,它能够捕获一个命令的输出,然后传递给另外一个命令。之所以会用到这个命令,关键是由于 很多命令不支持笑世纤管道来传递参数 ,而日常工作中就有这个需要,所以就有了 xargs 命令。
我们经常会用grep命令在文件中查找需要的内容,比如现在一个文件夹里面有9个文件,有三种格式txt, csv和gz压缩文件。
123里面存的内容都一样为
456里面存的内容也一样为
789里面存的都是
如果我现在要从所有的文件里面找“apple”
我会得到下面的结果,你会发现 grep不能从gz文件中查找内容
zgrep 这个命令可以解决这个问题,这样就不需要先解压然后再去查找了
会得到如下结果,显示了所有文件格式中找到的“apple”,并且显示了匹配的行号
如果只想在符合某种特征的文件中找你感兴趣的内容呢?比如在文件名中包含123的文件中查找“apple”。这时候就需要管道了,你需要先找到这样的文件然后再从中找“apple”
第一步找到名字中包含123的文件
会得到文件名中包含123的所有文件
第二步查找“apple”
然后我们再来从中找“apple”,你会发现下面这条命令不work,你啥都得不到
这就是我们开篇提到的, 很多命令不支持管道来传递参数。 这个时候 xargs 就派上用场了
同时用上 zgrep ,这碰仿样gz文件也一起找了
那么,如果我们想从某一种特定格式的文件中(比如csv文件)找特定的内容该怎么做呢?大家应该能触类旁通,举一反三了吧!
Linux xargs grep zgrep命令
‘柒’ Linux shell编程如何不解压读取gz压缩的文本
直接读取 一个gz压缩文件的方法:
直接创建了一个内容:"asdfasdfasfd" 的 1.txt文件并用gzip 压缩。
读取:$ zcat 1.txt.gz asdfasdfasfd。
如果内容过长可以接 less 查看:$ zcat 1.txt.gz | less。
‘捌’ 如何在Linux UNIX 中不解压.gz文件查看文件大小,原文件大小大于2g
gzip -l *.gz
‘玖’ linux 查看压缩包里文件用什么命令
仅仅是粗渗查看压缩包橘团里面的文件列表,就只需要将解压压缩包的命令里面的-x选项换成-t选项就可以了。而解压压缩包的命令是这样的:
tar -jxv -f tar.bz2文件名
或者是:tar -zxv -f tar.gz文件名
其中命令里的-j是解压tar.bz2压缩包的选项,而-z是解压tar.gz压缩包的选项,没有这两个选项是无法查看压缩包里面的文件列表的;-t参数表示只查看当前不解压(所以记得将上面的命令的x换成t就可以了),-v表示列出文件的详细信息;-f选项指圆凳橘定要查看的压缩包文件名,它后面要跟压缩包文件名。