Si alguna vez has necesitado comprobar las diferencias entre dos carpetas en tu equipo Ubuntu, probablemente hayas notado lo rápido que te saturas o terminas revisando archivos manualmente. Ahí es donde este diffcomando realmente destaca: está diseñado para este tipo de trabajo y, aunque es bastante sencillo, su uso efectivo requiere algunos matices. Básicamente, una vez que lo tengas en funcionamiento, podrás ver qué archivos faltan, cuáles son iguales y dónde se cuelan las diferencias, incluyendo subdirectorios, sin ningún problema. Perfecto para hacer copias de seguridad, depurar o simplemente satisfacer la curiosidad sobre cuán similares o diferentes son dos directorios, todo desde la terminal.

Cómo comparar dos carpetas en Ubuntu

Utilice el comando diff con opciones recursivas y breves

Esta es la forma más común y funciona bien en la mayoría de las configuraciones. La idea básica es ejecutar diffcon las opciones -q y -r, que indican a diff que solo informe si los archivos difieren (no cómo) y que lo haga recursivamente, abarcando todas las subcarpetas. Por ejemplo:

diff -qr ~/folder1 ~/folder2

Este comando compara las carpetas «1» y «2» en tu directorio personal. Puedes intercambiar las rutas con cualquier directorio con el que estés trabajando. En algunas configuraciones, podrías necesitar especificar las rutas completas como [nombre /home/username/Projects/folder1del directorio], especialmente si no estás en el directorio correcto.

Por qué ayuda: Marca rápidamente los archivos que son diferentes o faltantes, lo que a menudo es suficiente para tener una idea del estado general de sus directorios.

Cuándo usarlo: cuando desea una descripción general rápida (no es necesario ver cada línea de diferencia, solo el resumen de lo que es diferente).

Qué esperar: Verás líneas como Only in folder1: file.txto Files folder1/file.txt and folder2/file.txt differ.

A veces, una carpeta puede parecer la misma, pero presentar pequeñas diferencias; este comando las detecta sin problemas. En una configuración, lo ejecuté y me mostró una diferencia clara, mientras que en otra, el resultado fue un poco abrumador (depende de la cantidad de datos).

Ver diferencias detalladas para cambios de contenido

Si necesitas más información, como las líneas específicas que difieren, puedes omitir la opción -q. Simplemente ejecuta:

diff -r ~/folder1 ~/folder2

Este te mostrará las diferencias línea por línea dentro de archivos que no son idénticos. No siempre es necesario, pero es muy útil cuando necesitas identificar con exactitud qué cambió en tu código o configuración.

Tenga en cuenta que, en carpetas realmente grandes, esto puede generar mucho resultado; a veces vale la pena redirigirlo a un archivo o simplemente usar una herramienta GUI, pero para la mayoría de las comprobaciones rápidas, está bien.

Consejos adicionales y solución de problemas

  • Las rutas importan: siempre verifica que estés comparando los directorios correctos con las rutas absolutas si no estás en la misma ubicación.
  • Si la salida es demasiado ruidosa, agregue el indicador –brief para obtener resultados aún más simples:
  • diff --brief -r folderA folderB

  • También puedes explorar otras opciones como man diff para ver todo tipo de banderas para necesidades específicas.
  • A veces, los permisos o los enlaces simbólicos causan problemas: ejecute el comando sudosi es necesario o vuelva a verificar sus derechos de acceso a la carpeta.

Resumen

Esto debería darte una base sólida para comparar directorios rápidamente en Ubuntu. No es perfecto (a veces el resultado puede resultar algo denso si las carpetas son enormes), pero es fiable, rápido y no requiere aplicaciones adicionales. Una vez que te acostumbres, te preguntarás cómo pudiste vivir sin él.

Preguntas frecuentes

¿Qué hace exactamente el comando diff?

Compara archivos línea por línea, mostrando las diferencias. Al asignarle directorios, escanea todo su contenido, permitiéndole detectar archivos faltantes, nuevos o modificados sin tener que abrirlos manualmente.

¿Puedo comparar sólo archivos o subcarpetas específicos?

Por supuesto. Simplemente proporciona las rutas relativas a los dos archivos o carpetas dentro del comando diff, como diff file1.txt file2.txto diff -r folderA/subfolder folderB/subfolder.

¿Existen alternativas gráficas para comparar carpetas?

Sí. Herramientas como Meld o Beyond Compare lo hacen visual y podrían ser más fáciles si prefieres hacer clic sobre las líneas de comando. Pero para comprobaciones rápidas, ejecutarlo en la terminal también funciona.

  • Verifique los directorios con ls o el administrador de archivos antes de realizar diferencias.
  • Si sus directorios son grandes, considere filtrar la salida o agregar más opciones.