我正在尝试设计一种方法来获取两个(几乎相同的)目录并显示两个目录中所有文件之间的差异。
寻找两件不同的事情:
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方便筛选差异;首页截图: