Il "diff" è abbreviato come "differenze" e viene utilizzato per confrontare il contenuto di due file ed elencare le modifiche nello standard output.
Un insieme di codici sorgente costituisce un pezzo di software. Gli sviluppatori creano il codice sorgente che si evolve nel tempo. Ottenere un nuovo file per ogni aggiornamento non è realistico o richiede tempo time. Pertanto, il metodo più sicuro è distribuire solo miglioramenti. Le modifiche vengono apportate al vecchio file, quindi viene creato un file nuovo o corretto per la nuova versione del software.
Questa guida mostra come utilizzare il comando "diff" per generare un file patch e quindi applicarlo con il comando "patch".
Sintassi:
La sintassi del "patch"comando è il seguente:
$ patch [opzioni] [file originale [file patch]]$ patch -pnum
Creazione di un file patch utilizzando "diff":
File di codice sorgente 1:
In primo luogo, sono necessarie due diverse versioni di un codice sorgente per creare un file di patch. Il file del codice sorgente che ho creato si chiama "il mio file.c":S
#includereint main()
printf("Ciao LinuxHint\n");
File di codice sorgente 2:
Ora copia il contenuto di il mio file.c nel nuovo_miofile.c, utilizzando:
$ cp miofile.c nuovo_miofile.cApportare alcune modifiche al file appena creato:
#includerevuoto principale()
printf("Ciao suggerimento Linux");
printf("Benvenuto in linuxhint");
Controllo della differenza:
Creiamo un file di patch chiamato as il mio file.cerotto:
$ diff -u miofile.c nuovo_miofile.cPuoi stampare il file della patch eseguendo il comando seguente:
$ cat miofile.patch
Applicazione del file patch:
Per applicare la patch, utilizzare:
$ patch < myfile.patch
Assicurati che il file della patch si trovi nella directory in cui si trova il file del codice sorgente.
Fai un backup prima di applicare la patch:
Uso "-b"opzione per creare un backup del file di patch:
$ patch -b < myfile.patch
Impostazione della versione del file di backup
Se hai bisogno di più backup di un singolo file di backup, usa il "-V" opzione. Imposta il numero di versione di ogni file di backup. Esegui il comando indicato di seguito:
$ patch -b -V numerato < myfile.patch
Convalida file patch Patch
Se si desidera verificare o osservare l'esito dell'applicazione di patch, utilizzare "-funzionamento a secco" opzione. Non apporta alcuna modifica al file originale:
$ patch --dry-run < myfile.patch
Inverti/Annulla una Patch
L'opzione "-R" viene utilizzata per invertire o annullare una patch che è già stata applicata.
$ patch < file.patch$ ls -l miofile.c
$ patch -R < myfile.patch
$ ls -l miofile.c
Conclusione:
Nel sistema operativo Linux, "patch" è un comando che ci consente di applicare file di patch ai codici sorgente o ai file di configurazione. Il file patch viene utilizzato per l'aggiornamento del software. La differenza tra i file originali e quelli nuovi è contenuta nei file di patch e il comando "diff" viene utilizzato per ottenere la differenza o la patch. Abbiamo discusso l'uso dei comandi "diff" e "patch" con una serie di opzioni come eseguire backup, eseguire l'esecuzione a secco e invertire la patch applicata.