当前位置:首页>弱电技术>系统运维>Linux中检查压缩的文件是否相同的命令

Linux中检查压缩的文件是否相同的命令

zdiff 和 zcmp 命令可以查看 Linux 文件是否不同,如果不同,又是如何不同的。

Linux中检查压缩的文件是否相同的命令

压缩的 Linux 文件很有用,因为它们可以节省磁盘空间,但是当您有一系列压缩文件并想确定是否有重复文件时,您应该怎么办?zdiff和zcmp命令可以提供帮助。

首先,如果一个目录包含两个如下所示的文件,仅从列表中就可以很容易地判断出它们并不相同。毕竟,文件大小有点不同。这些文件如下所示:

$ ls -l
total 200
-rw-r--r--. 1 shs shs 102178 Nov 22  2021 2021.gz
-rw-r--r--. 1 shs shs 102181 Nov 22 11:19 2022.gz

如果您使用diff命令比较文件,它将确认文件不同:

$ diff 2021.gz 2022.gz
Binary files 2021.gz and 2022.gz differ

diff命令没有告诉您(因为它逐字节检查文件)的是,在创建这两个文件时压缩的材料实际上是相同的。要确定这一点,您需要使用zdiff或zcmp命令。如果每个文件中压缩的文件内容相同,您将不会从这两个命令中的任何一个命令中获得任何输出。

$ zdiff 2021.gz 2022.gz
$
$ zcmp 2021.gz 2022.gz
$

使用gunzip解压后的文件大小相同,可以用diff命令进行比较,确认内容相同。同样,diff命令没有输出表明没有差异。

$ gunzip 2021.gz
$ gunzip 2022.gz
$ ls -l
total 852
-rw-r--r--. 1 shs shs 383654 Nov 22  2021 2021
-rw-r--r--. 1 shs shs 383654 Nov 22 11:19 2022
$ diff 2021 2022
$

很明显,文件内容是一样的。那么,为什么压缩版本看起来不同呢?这是因为gzip在压缩文件时会保留原始文件名并包含文件的时间戳。此信息不包含在比较中。

比较压缩文件和非压缩文件

虽然zdiff和zcmp命令都可以确定两个压缩文件是否相同,但它们还可以比较压缩文件和非压缩文件的内容。换句话说,如果将压缩文件与包含原始内容但未压缩的文件进行比较,您仍会确认内容匹配。

$ zdiff 2021.gz 2022
$
$ zcmp 2021.gz 2022
$

事实上,尽管对非压缩文件使用zdiff和zcmp没有任何好处,但这些命令仍会符合您的要求。当两个文件都解压缩时,下面的命令会比较这两个文件。

$ zdiff 2021 2022
$

zdiff 和 zcmp 的区别

zdiff和zcmp命令之间的主要区别在于当文件不同时它们会告诉您什么。如果您使用zdiff命令,它将显示在压缩内容中检测到的任何差异。

$ zdiff 2022.gz 2023.gz
6409c6409
< There may be only one active coprocess at a time. --- >        There may be only one active coprocess at a time!

如果你使用zcmp命令,它会告诉你文件内容不同,并通过字节和行号定位任何差异。

$ zcmp 2022.gz 2023.gz
/dev/fd/5 - differ: byte 383573, line 6409

总结

zdiff和zcmp命令允许您比较使用 gzip 压缩的文件的内容。如果文件内容匹配,这两个命令都不会显示任何输出,但当文件不同时,它们将显示不同的详细信息。您还可以使用这些命令将使用gzip压缩的文件与未压缩的文件进行比较,以确定两者的原始内容是否相同。

本文由 @小喵 发布于弱电智能网 。

题图来自Unsplash,基于CC0协议

内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。

如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章名称:《Linux中检查压缩的文件是否相同的命令》

文章链接:https://www.ruodian360.com/tech/sytemops/37435.html

添加微信ydian188免费入群,记得备注“弱电智能网”。

给TA打赏
共{{data.count}}人
人已打赏
系统运维

在 Linux 上查看网络连接的 7 种方法

2022-12-15 21:55:30

系统运维

在Linux上压缩文件使用 zip 和 zipcloak 命令

2022-12-15 22:26:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
搜索