Red de conocimiento informático - Computadora portátil - Uso del comando diff y del comando patch

Uso del comando diff y del comando patch

El comando diff es una herramienta muy importante en Linux, que se utiliza para comparar el contenido de archivos, especialmente para comparar dos archivos con diferentes versiones para encontrar cambios. diff imprime cambios en cada línea de la línea de comando. La última versión de diff también admite archivos binarios. La salida del programa diff se llama parche, porque también hay un programa de parche en el sistema Linux, que puede actualizar el contenido del archivo de ac a b.c en función de la salida de diff. Diff es una parte integral de herramientas de control de versiones como svn, cvs y git.

El formato del comando diff es generalmente:

diff [parámetro][archivo o directorio 1][archivo o directorio 2]

Por ejemplo, hay son los archivos test1 y test2:

generarán:

El significado del formato es como se muestra en los comentarios.

Hay tres indicaciones para el formato de visualización normal de diff:

a - agregar

c - cambiar

d - eliminar

Se usa más comúnmente para mostrar las diferencias entre dos archivos de manera combinada:

Salida como:

El contenido generado por este método de salida puede ser se utiliza para imprimir usando el comando patch. Veremos el comando de parche más adelante.

El comando diff también puede comparar las diferencias entre dos carpetas:

Por ejemplo, hay dos carpetas testa y test, coloque test1 y test2 en ellas:

Obtener:

La primera parte es la información del archivo

"---" indica el archivo antes del cambio y "+++" indica el archivo después del cambio.

La segunda parte indica la posición cambiada

@@ -1,11 +1,5 @@

El signo menos indica el primer archivo y el siguiente Indica 11 líneas a partir de la primera línea. El signo más indica el segundo archivo. A continuación se muestran la primera y quinta líneas de la primera línea.

La siguiente parte indica la diferencia.

Por ejemplo:

Obtendrá:

En este modo

"|" significa que el contenido de los dos archivos anteriores y después son diferentes

p>

"<" significa que el siguiente archivo tiene una línea menos de contenido que el archivo anterior

">" significa que el siguiente archivo tiene una más línea de contenido que el archivo anterior

Primero podemos usar el comando diff para generar un archivo de parche. Luego use el comando de parche para modificar el contenido del segundo archivo al contenido del primer archivo.

Por ejemplo, la prueba1 y la prueba2 anteriores:

Después de eso, el contenido de la prueba2 será consistente con el contenido de la prueba1.

Los parches generados por svn diff también se pueden utilizar para actualizar archivos