Creo que solo rsync es userfull. ¿por qué?
diff es útil solo para estructuras que mantienen archivos y directorios. Diff no proporciona códigos de salida adecuados cuando usamos enlaces simbólicos. En esa situación, diff puede devolver 2 códigos de salida, incluso si src y dst son idénticos (tiempos, tamaños, nombres, marcas de tiempo, enlaces de software, etc.).
dir, el sistema de archivos no garantiza el orden de los archivos, incluso si los contenidos del directorio en src y dst son idénticos. Tal vez deberías filtrar la salida ls ordenándola. Pero ls puro solo muestra nombres de nodo.
tal vez la secuencia de comandos que incluye diff, cmp, test -X para los tipos de nodo será útil, pero recuerde sobre la sobrecarga realizada por muchas ejecuciones de prueba / cmp. El guión será muy lento.
Como de costumbre, si desea obtener información simple "dirs es / no es idéntico", debe usar rsync con la opción -n (dry). Si desea encontrar lo que es diferente, use el comando diff.