在两个相似的目录之间递归地相互减去文件

在两个相似的目录之间递归地相互减去文件

我正在尝试设计一种方法来获取两个(几乎相同的)目录并显示两个目录中所有文件之间的差异。

寻找两件不同的事情:

1-列出两个目录之间不同的所有文件(递归)

2- 从 /old-directory/ 中减去 /new-directory/ 中的所有文件,并将结果输出到第三个目录或某个我可以轻松扫描差异的地方。

我通过将备份(干净)目录与带有疑似后门的目录(在先前存在的文件内)进行比较来寻找服务器的后门。

答案1

如果您的目标是比较文件,您可以diff直接使用,例如这样:

diff -r old-dir new-dir

使用选项-q可以抑制差异并仅获取列表哪个文件有所不同,或者某些文件仅存在于其中一个目录中。

$ diff -r old-dir new-dir
Only in old-dir: 2
diff -r old-dir/3 new-dir/3
0a1
> this line was inserted by an evil hacker... 

$ diff -rq old-dir new-dir
Only in old-dir: 2
Files old-dir/3 and new-dir/3 differ

还有一个图形界面,称为xxdiff方便筛选差异;首页截图:

在此处输入图片描述

相关内容