linux比较两个目录的差异

358 阅读1分钟

diff
给定两个目录,如何找出哪些文件因内容不同

> diff --brief --recursive dir1/ dir2/
--brief仅显示有无差异

或者使用

> diff -qr dir1/ dir2/
-q 仅显示有无差异,不显示详细的信息
-r 比较子目录中的文件

git

> git diff --no-index dir1/ dir2/
可以显示颜色差异

rsync

> rsync -rvn -i --delete dir1/ dir2 | sed -n '2,/^$/{/^$/!p}'

其中deleting所在的行就是dir2中多出的文件。其他的都是dir1中多出的文件。其中>f+++++++++中的f代表的是文件,d代表的目录。