![显示(压缩的)tar 存档中的文件与文件之间的差异](https://linux22.com/image/1309993/%E6%98%BE%E7%A4%BA%EF%BC%88%E5%8E%8B%E7%BC%A9%E7%9A%84%EF%BC%89tar%20%E5%AD%98%E6%A1%A3%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E4%B8%8E%E6%96%87%E4%BB%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82.png)
假设我解压了一个 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