Эти две команды в основном делают то, что просили:
diff --brief --recursive --no-dereference --new-file --no-ignore-file-name-case /dir1 /dir2 > dirdiff_1.txt
rsync --recursive --delete --links --checksum --verbose --dry-run /dir1/ /dir2/ > dirdiff_2.txt
Выбор между ними зависит от расположения dir1 и dir2:
Если каталоги находятся на двух отдельных дисках, diff превосходит rsync. Но когда две сравниваемые директории находятся на одном диске, rsync работает быстрее. Это связано с тем, что diff создает практически одинаковую нагрузку на обе директории параллельно, максимально увеличивая нагрузку на два диска.
rsync вычисляет контрольные суммы в больших кусках, прежде чем сравнивать их. Это группирует операции ввода-вывода в большие порции и приводит к более эффективной обработке, когда все происходит на одном диске.