А если diff без -r, тогда выводит общие подкаталоги.
Не совсем так:
lucifer:~/work$ls d1/*
d1/d1.1:
d1/d1.2:
1.txt d1.2.1 d2.2.1
----------------------------
lucifer:~/work$ls d2/*
d2/d1.2:
2.txt d2.2.1
d2/d2.1:
----------------------------
Как видим, есть общие директории d1/d1.2/d2.2.1 и d2/d1.2/d2.2.1, они пустые. А вот каталоги d1/d1.2 и d2/d1.2 различаются по содержимому.
Запускаем diff d1 d2:
Only in d1: d1.1
Common subdirectories: d1/d1.2 and d2/d1.2
Only in d2: d2.1
Видим, что дальше первого уровня diff не полез. Если добавим опцию -r (рекурсия), то действительно получим верный результат, но этот результат покажет нам отличия!