显示(压缩的)tar 存档中的文件与文件之间的差异

显示(压缩的)tar 存档中的文件与文件之间的差异

假设我解压了一个 gz 压缩的 tar 文件,但不记得对解压后的文件做了哪些更改,或者我之前存档了一个文件夹,想知道从那时起文件发生了什么变化。

我可以用来tar -zd查看概览。然后,它显示文件foo已更改。我如何查看此文件中的更改,即文件系统上的文件与存档中的(旧)文件之间的差异(理想情况下在 vimdiff 中,但 diff 输出也可以)?

答案1

在 vim 中打开压缩的 tar 文件,将光标移到foo并按 Enter。然后执行

:vert diffsplit local/path/to/foo

答案2

tar ... -O与 bash 中的进程替换一起使用。

diff ... <( tar ... -O ... file.ext ) file.ext

相关内容