两个目录之间的差异

use*_*309 0 unix directory bash diff traversal

下面是问题:假设在 DirA 中我有这些文件:

file1
file2
file3
file4
Run Code Online (Sandbox Code Playgroud)

在 DirB 中我有以下文件:

file1
file2
file3
Run Code Online (Sandbox Code Playgroud)

现在,如果我必须制作一个脚本来告诉我两个目录之间的差异(在本例中,dirB 中缺少 file4),并且还将文件复制到 DirB 中,那么命令是什么?

Sto*_*ica 7

这将显示差异的简要总结:

diff -rq dir1 dir2
Run Code Online (Sandbox Code Playgroud)

它将判断一个文件是否仅存在于其中一个目录中,或者如果两个目录中存在一个文件且内容不同,它将判断它们是不同的。在你的例子中,它会是这样的:

$ diff -rq dir1 dir2
Only in dir1: file4
Run Code Online (Sandbox Code Playgroud)

如果您想查看更多详细信息,请放下-q标志(它代表“安静”)。