diff 只输出文件名

新手上路,请多包涵

我正在寻找运行一个 Linux 命令,它将递归地比较两个目录并 输出不同的文件名。这包括存在于一个目录中而不存在于另一个目录中的任何内容,反之亦然,以及文本差异。

原文由 barfoon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.4k
2 个回答

从差异手册页:

-q 只报告文件是否不同,而不是差异的细节。

-r 比较目录时,递归比较找到的任何子目录。

示例命令:

 diff -qr dir1 dir2

示例输出(取决于语言环境):

 $ ls dir1 dir2
dir1:
same-file  different  only-1

dir2:
same-file  different  only-2
$ diff -qr dir1 dir2
Files dir1/different and dir2/different differ
Only in dir1: only-1
Only in dir2: only-2

原文由 John Kugelman 发布,翻译遵循 CC BY-SA 3.0 许可协议

你也可以使用 rsync

 rsync -rv --size-only --dry-run /my/source/ /my/dest/ > diff.out

原文由 boksiora 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题