El comando diff en GNU/Linux compara archivos y directorios, resaltando sus diferencias. Descubre sus usos, opciones y ejemplos.


En GNU/Linux, el comando diff es una herramienta poderosa para comparar archivos y directorios, permitiendo identificar diferencias entre ellos. Es ampliamente utilizado en desarrollo de software, administración de sistemas y control de versiones para detectar cambios en archivos de texto. diff analiza línea por línea y muestra las diferencias de forma clara, lo que facilita la revisión de modificaciones antes de aplicar cambios.

¿Para qué se usa diff?

El comando diff se emplea principalmente para:

  • Comparar dos archivos de texto y mostrar sus diferencias.
  • Identificar cambios en configuraciones o código fuente.
  • Verificar diferencias entre versiones de un mismo archivo.
  • Comparar directorios y detectar archivos que han cambiado.

Características principales

  • Compara archivos línea por línea y muestra solo las diferencias.
  • Compatible con múltiples formatos de salida (unificado, contexto, entre otros).
  • Puede trabajar con directorios para detectar diferencias en archivos dentro de ellos.
  • Soporta comparación recursiva de directorios con la opción -r.
  • Se integra con herramientas como patch para aplicar cambios fácilmente.

Opciones más importantes de diff

Algunas de las opciones más utilizadas incluyen:

Opción Descripción
-u Muestra diferencias en formato unificado (más legible).
-c Usa formato de contexto para resaltar diferencias.
-r Compara directorios de forma recursiva.
-y Muestra diferencias en columnas (lado a lado).
--ignore-case Ignora diferencias de mayúsculas y minúsculas.
--ignore-all-space Ignora espacios en blanco.
--brief Muestra solo si los archivos son diferentes, sin detalles.

Ejemplos de uso de diff

Comparar dos archivos de texto:

diff archivo1.txt archivo2.txt

Muestra las diferencias línea por línea.

Comparación en formato unificado:

diff -u archivo1.txt archivo2.txt

Salida más legible, útil para control de versiones.

Comparación en formato de columnas:

diff -y archivo1.txt archivo2.txt

Muestra los archivos lado a lado con diferencias resaltadas.

Comparar directorios de forma recursiva:

diff -r carpeta1 carpeta2

Lista las diferencias entre archivos en ambas carpetas.

Mostrar solo si los archivos son distintos:

diff --brief archivo1.txt archivo2.txt

Solo indica si los archivos difieren, sin mostrar detalles.

Conclusión

El comando diff es una herramienta esencial en GNU/Linux para comparar archivos y directorios, facilitando la detección de cambios en configuraciones, código y documentos. Con sus diversas opciones, es adaptable a distintos escenarios, desde revisiones simples hasta integración con sistemas de control de versiones.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación