压缩Linux文件是有用的,因为他们节省磁盘空间,但是你该怎么做当你有一系列的压缩文件,想确定是否重复?的zdiff和zcmp命令可以帮助。
首先,如果一个目录包含下面两个文件类似,很容易告诉的清单,他们是不相同的。毕竟,文件大小有点不同。像这样的文件:
-rw-r - r - ls - l总额200美元。啦啦102178 2021 2021年11月22日。广州-rw-r——r。1啦啦102181年11月22日11:19 2022.广州
如果你比较的文件diff命令,它将确认文件有所不同:
diff 2021美元。2022年广州。2021年广州二进制文件。广州2022人。广州不同
什么diff命令没有告诉你(因为它检查文件字节的字节)的材料被压缩在创建这两个文件是相同的。确定,你将需要使用zdiff或者是zcmp命令。如果文件被压缩在每个文件的内容是一样的,你会得到没有从这些命令的命令的输出。
zdiff 2021美元。2022年广州。广州美元$ zcmp 2021.gz 2022.gz $
在使用gunzip解压文件,生成的文件是相同的大小,可以相比diff命令来确认他们的相同内容。再一次,没有输出diff命令表示不存在差异。
gunzip 2021美元。广州美元gunzip2022.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美元。广州2022美元$ zcmp 2021.gz 2022 $
事实上,尽管没有好处zdiff和zcmp与未压缩的文件,这些命令仍然会遵照你的要求。下面的命令都是解压时比较了两个文件。
zdiff 2021 2022美元
zdiff和zcmp差异
之间的主要区别zdiff和zcmp命令是他们告诉你什么时候文件是不同的。如果你使用zdiff命令,它将显示任何差异中发现压缩的内容。
zdiff 2022美元。2023年广州。6409年广州c6409 <只可能有一个活动coprocess时间。推荐- - - - - - >只可能有一个活动coprocess时间!
如果你使用zcmp命令,它会告诉你,文件内容是不同的,任何差异都位于字节和行号。
zcmp 2022美元。2023年广州。广州/dev/fd/5 -不同:383573字节,6409行
总结
的zdiff和zcmp命令允许您将文件压缩的内容gzip。虽然命令将显示没有输出,如果文件内容匹配,他们将显示不同的细节时,文件是不同的。您还可以使用这些命令来比较文件压缩gzip不压缩文件以确定原来的内容都是一样的。