Η διαφορά συντομεύεται ως διαφορές και χρησιμοποιείται για τη σύγκριση του περιεχομένου δύο αρχείων και την απαρίθμηση των αλλαγών στην τυπική έξοδο.
Ένα σύνολο πηγαίων κωδικών αποτελεί ένα κομμάτι λογισμικού. Οι προγραμματιστές δημιουργούν τον πηγαίο κώδικα που εξελίσσεται με την πάροδο του χρόνου. Η λήψη ενός νέου αρχείου για κάθε ενημέρωση είναι εξωπραγματική ή χρονοβόρα. Επομένως, η ασφαλέστερη μέθοδος είναι η διανομή μόνο βελτιώσεων. Οι τροποποιήσεις γίνονται στο παλιό αρχείο και στη συνέχεια δημιουργείται ένα νέο ή ενημερωμένο αρχείο για τη νέα έκδοση λογισμικού.
Αυτός ο οδηγός σάς δείχνει πώς να χρησιμοποιήσετε την εντολή diff για να δημιουργήσετε ένα αρχείο ενημερωμένης έκδοσης κώδικα και, στη συνέχεια, να το εφαρμόσετε με την εντολή ενημέρωσης κώδικα.
Σύνταξη:
Η σύνταξη του κηλίδα η εντολή έχει ως εξής:
$κηλίδα [επιλογές] [πρωτότυπο αρχείο[patchfile]]
$κηλίδα pnum <patchfile>>
Δημιουργία αρχείου ενημερωμένης έκδοσης με χρήση διαφορών:
Αρχείο πηγαίου κώδικα 1:
Πρώτον, απαιτούνται δύο διαφορετικές εκδόσεις ενός πηγαίου κώδικα για τη δημιουργία ενός αρχείου ενημερωμένης έκδοσης κώδικα. Το αρχείο πηγαίου κώδικα που έχω δημιουργήσει ονομάζεται ως myfile.γ :μικρό
#περιλαμβάνωintκύριος() {
printf ('Γεια LinuxHint n')?
}
Αρχείο πηγαίου κώδικα 2:
Τώρα, αντιγράψτε το περιεχόμενο του myfile.γ στο new_myfile.c , χρησιμοποιώντας:
$cpmyfile.c new_myfile.cΠραγματοποιήστε μερικές αλλαγές στο αρχείο που δημιουργήθηκε πρόσφατα:
#περιλαμβάνωκενόςκύριος(){
printf ('Γεια Linux υπόδειξη')?
printf ('Καλώς ορίσατε στο linuxhint')?
}
Έλεγχος διαφοράς:
Ας δημιουργήσουμε ένα αρχείο ενημερωμένης έκδοσης κώδικα που ονομάζεται ως myfile.patch:
$διαφορά -umyfile.c new_myfile.c<myfile.patch
Μπορείτε να εκτυπώσετε το αρχείο επιδιόρθωσης εκτελώντας την παρακάτω εντολή:
$Γάταmyfile.patch
Εφαρμογή του αρχείου Patch:
Για να εφαρμόσετε το έμπλαστρο, χρησιμοποιήστε:
$κηλίδα <myfile.patch
Βεβαιωθείτε ότι το αρχείο ενημέρωσης κώδικα βρίσκεται στον κατάλογο όπου είναι τοποθετημένο το αρχείο πηγαίου κώδικα.
Πάρτε ένα αντίγραφο ασφαλείας πριν από την εφαρμογή του Patch:
Χρήση -σι επιλογή δημιουργίας αντιγράφου ασφαλείας του αρχείου ενημέρωσης κώδικα:
$κηλίδα -σι <myfile.patch
Ρύθμιση έκδοσης αρχείου αντιγράφου ασφαλείας
Εάν χρειάζεστε πολλαπλά αντίγραφα ασφαλείας ενός μεμονωμένου αρχείου, χρησιμοποιήστε το -V επιλογή. Ορίζει τον αριθμό έκδοσης κάθε αντιγράφου ασφαλείας. Εκτελέστε την παρακάτω εντολή:
$κηλίδα -σι -Vαριθμημένο<myfile.patch
Επικύρωση αρχείων Patch
Εάν θέλετε να επαληθεύσετε ή να παρατηρήσετε το αποτέλεσμα της επιδιόρθωσης, χρησιμοποιήστε το -στεγνό τρέξιμο επιλογή. Δεν κάνει καμία τροποποίηση στο αρχικό αρχείο:
$κηλίδα -στεγνό τρέξιμο <myfile.patch
Αντιστροφή/Αναίρεση μιας ενημερωμένης έκδοσης κώδικα
Η επιλογή -R χρησιμοποιείται για να αντιστρέψει ή να αναιρέσει μια ενημερωμένη έκδοση κώδικα που έχει ήδη εφαρμοστεί.
$κηλίδα <file.patch$ls–L myfile.c
$κηλίδα–R<myfile.patch
$ls–L myfile.c
Συμπέρασμα:
Στο λειτουργικό σύστημα Linux, το patch είναι μια εντολή που μας επιτρέπει να εφαρμόζουμε αρχεία επιδιορθώσεων στους πηγαίους κώδικες ή αρχεία διαμόρφωσης. Το αρχείο ενημέρωσης κώδικα χρησιμοποιείται για σκοπούς ενημέρωσης λογισμικού. Η διαφορά μεταξύ των αρχικών και των νέων αρχείων διατηρείται σε αρχεία επιδιορθώσεων και η εντολή diff χρησιμοποιείται για να λάβει τη διαφορά ή την ενημερωμένη έκδοση κώδικα. Συζητήσαμε για τη χρήση της διαφοράς και των εντολών ενημέρωσης κώδικα με μια σειρά επιλογών, όπως δημιουργία αντιγράφων ασφαλείας, εκτέλεση σε στεγνό και αναστροφή του εφαρμοσμένου κώδικα.